最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS中Require與Import 區(qū)別對(duì)比分析

 更新時(shí)間:2023年03月02日 11:34:27   作者:大眾浴池之大眾  
這篇文章主要為大家介紹了JS中Require與Import 區(qū)別對(duì)比分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

require 和 import對(duì)比區(qū)別

在 JavaScript 中,require 和 import 都是用來(lái)導(dǎo)入模塊的。require 是 Node.js內(nèi)置的方法,而 import 是一個(gè) ES6 標(biāo)準(zhǔn)的關(guān)鍵字。

require是同步(synchronous)的,會(huì)阻塞腳本的執(zhí)行,import是異步(asynchronous)的,加載過(guò)程不會(huì)阻塞腳本的執(zhí)行。

其實(shí)他們最大的區(qū)別,require只能對(duì)整個(gè)模塊進(jìn)行加載,而import可以選擇性的加載被拆分導(dǎo)出(individual export)的模塊。

拆分導(dǎo)出(individual export) 可以是 value, funcition, object

舉個(gè)例子,如果我們有一個(gè)模塊叫 myModule, 你可以通過(guò) require 導(dǎo)入整個(gè)模塊:

const myModule = require('myModule');

如果想使用其中的方法或值,需要使用 . 符號(hào)去調(diào)用:

const myFunction = require('myModule').myFunction;

再看看import, 如果想導(dǎo)入整個(gè)模塊:

import * as myModule from 'myModule';

如果想導(dǎo)入指定內(nèi)容:

import {myFunction} from 'myModule';

相比較而言,import更靈活,也是在require之后ES推出的關(guān)鍵字,理論上import會(huì)全面的取替require。不過(guò)在Node.js還是會(huì)支持require,可以根據(jù)需求去選擇兩種語(yǔ)法。

import()

像前面說(shuō)的,最大的優(yōu)勢(shì)是可以不導(dǎo)入整個(gè)模塊,而是按需導(dǎo)入。減少代碼量的同時(shí),還增加了可讀性,下面是具體的例子:

// moduleA.js
export const x = 1;
export const y = 2;
// moduleB.js
import { x, y } from './moduleA';
console.log(x); // outputs 1
console.log(y); // outputs 2

Webpack有內(nèi)置的緩存機(jī)制來(lái)緩存通過(guò)import關(guān)鍵字加載的模塊。Rollup和其他模塊也都有類似的功能。

require()

在Node.js的上下文中,require() 是一個(gè)內(nèi)置的方法,會(huì)讀取一個(gè)JS文件,并執(zhí)行,然后返回一個(gè)導(dǎo)出的對(duì)象:

// app.js
const _ = require('lodash');
const arr = [1, 2, 3];
const sum = _.sum(arr);
console.log(sum); // outputs 6

需要注意??的是 require() 是同步代碼,在模塊加載完成之前會(huì)阻塞代碼的執(zhí)行。

還有一點(diǎn),require() 可以利用緩存讓模塊只加載一次,即便很多文件都加載了這個(gè)模塊。意思是說(shuō)當(dāng)用require加載了一個(gè)模塊,Node.js會(huì)去檢查這個(gè)模塊是否已經(jīng)被加載和緩存,如果是的話,就直接返回緩存的內(nèi)容。

英文原文鏈接(作者: Alex Ivanovs)

以上就是JS中Require與Import 區(qū)別對(duì)比分析的詳細(xì)內(nèi)容,更多關(guān)于JS Require對(duì)比Import區(qū)別的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • javascript刪除option選項(xiàng)的多種方法總結(jié)

    javascript刪除option選項(xiàng)的多種方法總結(jié)

    這篇文章主要是對(duì)javascript刪除option選項(xiàng)的多種方法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-11-11
  • uniapp 仿微信的右邊下拉選擇彈出框的實(shí)現(xiàn)代碼

    uniapp 仿微信的右邊下拉選擇彈出框的實(shí)現(xiàn)代碼

    這篇文章主要介紹了uniapp 仿微信的右邊下拉選擇彈出框的實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • JavaScript 中如何將秒轉(zhuǎn)換為分秒

    JavaScript 中如何將秒轉(zhuǎn)換為分秒

    JavaScript中將秒轉(zhuǎn)換為分鐘和秒,通過(guò)將秒數(shù)除以 60 得到整分鐘數(shù),獲取剩余的秒數(shù),本文通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-09-09
  • php main 與 iframe 相互通訊類(js+php同域/跨域)

    php main 與 iframe 相互通訊類(js+php同域/跨域)

    這篇文章主要介紹了php main 與 iframe 相互通訊類(js+php同域/跨域),需要的朋友可以參考下
    2017-09-09
  • JS 添加千分位與去掉千分位的示例

    JS 添加千分位與去掉千分位的示例

    本文為大家詳細(xì)介紹下使用JS添加千分位以及去掉千分位的實(shí)現(xiàn)代碼,感興趣的朋友可以參考下哈,希望對(duì)大家有所幫助
    2013-07-07
  • JavaScript中六種面試常考繼承方式總結(jié)

    JavaScript中六種面試??祭^承方式總結(jié)

    js的幾種繼承方式在我們面試的時(shí)候經(jīng)常會(huì)被問(wèn)到,所以深入理解js幾種繼承方式以及它們的優(yōu)缺點(diǎn)是非常有必要的。本文為大家整理了JavaScript中面試??嫉牧N繼承方式,需要的可以參考一下
    2023-02-02
  • javascript實(shí)現(xiàn)的textarea運(yùn)行框效果代碼 不用指定id批量指定

    javascript實(shí)現(xiàn)的textarea運(yùn)行框效果代碼 不用指定id批量指定

    今天在寫一個(gè)網(wǎng)頁(yè)的時(shí)候用到了N多嵌套在textarea標(biāo)簽里的代碼,定義雙擊運(yùn)行其內(nèi)的代碼段。但是每次創(chuàng)建一個(gè)這樣的可運(yùn)行的實(shí)例都要給textarea元素自定義一個(gè)id值和寫入雙擊事件,好不麻煩。
    2009-12-12
  • for?of?和?for?in?的區(qū)別介紹

    for?of?和?for?in?的區(qū)別介紹

    這篇文章主要介紹了for?of?和?for?in?的區(qū)別,for?of?和?for?in都是用來(lái)遍歷的屬性,本文重點(diǎn)介紹下for?of?和?for?in?的區(qū)別,需要的朋友可以參考下
    2022-12-12
  • 快速解決layui彈窗按enter鍵不停彈窗的問(wèn)題

    快速解決layui彈窗按enter鍵不停彈窗的問(wèn)題

    今天小編就為大家分享一篇快速解決layui彈窗按enter鍵不停彈窗的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09
  • 如何阻止小程序遮罩層下方圖層滾動(dòng)

    如何阻止小程序遮罩層下方圖層滾動(dòng)

    這篇文章主要介紹了如何阻止小程序遮罩層下方圖層滾動(dòng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評(píng)論

卓资县| 濮阳市| 莲花县| 衢州市| 太康县| 邵阳市| 安化县| 化德县| 寿光市| 沁源县| 巴彦淖尔市| 庄河市| 东辽县| 赤峰市| 彭州市| 阜城县| 贵德县| 上高县| 江华| 湖州市| 武宣县| 桃园市| 遂平县| 高尔夫| 临清市| 鄂托克前旗| 文山县| 巩留县| 南漳县| 荥阳市| 富民县| 盖州市| 潜山县| 吴堡县| 田阳县| 惠安县| 沐川县| 建德市| 福州市| 香河县| 桦甸市|