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

Webpack?ECMAScript?模塊詳解

 更新時間:2023年12月01日 14:29:21   作者:鋜斗  
ECMAScript 模塊(ESM)是在 Web 中使用模塊的規(guī)范, 所有現(xiàn)代瀏覽器均支持此功能,同時也是在 Web 中編寫模塊化代碼的推薦方式,這篇文章主要介紹了Webpack?ECMAScript?模塊,需要的朋友可以參考下

前言

標(biāo)題一

ECMAScript 模塊(ESM)是在 Web 中使用模塊的規(guī)范。 所有現(xiàn)代瀏覽器均支持此功能,同時也是在 Web 中編寫模塊化代碼的推薦方式。

webpack 支持處理 ECMAScript 模塊以優(yōu)化它們。

導(dǎo)出

關(guān)鍵字 export 允許將 ESM 中的內(nèi)容暴露給其他模塊:

export const CONSTANT = 42;
export let variable = 42;
// 對外暴露的變量為只讀
// 無法從外部修改
export function fun() {
  console.log('fun');
}
export class C extends Super {
  method() {
    console.log('method');
  }
}
let a, b, other;
export { a, b, other as c };
export default 1 + 2 + 3 + more();

導(dǎo)入

關(guān)鍵字 import 允許從其他模塊獲取引用到 ESM 中:

import { CONSTANT, variable } from './module.js';
// 導(dǎo)入由其他模塊導(dǎo)出的“綁定”
// 這些綁定是動態(tài)的. 這里并非獲取到了值的副本
// 而是當(dāng)將要訪問“variable”時
// 再從導(dǎo)入的模塊中獲取當(dāng)前值
import * as module from './module.js';
module.fun();
// 導(dǎo)入包含所有導(dǎo)出內(nèi)容的“命名空間對象”
import theDefaultValue from './module.js';
// 導(dǎo)入 `default` 導(dǎo)出的快捷方式

將模塊標(biāo)記為 ESM

默認(rèn)情況下,webpack 將自動檢測文件是 ESM 還是其他模塊系統(tǒng)。

Node.js 通過設(shè)置 package.json 中的屬性來顯式設(shè)置文件模塊類型。 在 package.json 中設(shè)置 “type”: “module” 會強(qiáng)制 package.json 下的所有文件使用 ECMAScript 模塊。 設(shè)置 ?"type": "commonjs"? 將會強(qiáng)制使用 CommonJS 模塊。

{
  "type": "module"
}

除此之外,文件還可以通過使用?.mjs??.cjs?擴(kuò)展名來設(shè)置模塊類型。 ?.mjs? 將它們強(qiáng)制置為 ESM,?.cjs? 將它們強(qiáng)制置為 CommonJs

在使用text/javascriptapplication/javascript mime typeDataURI中,也將使用 ESM。

除了模塊格式外,將模塊標(biāo)記為 ESM 還會影響解析邏輯,操作邏輯和模塊中的可用符號。

導(dǎo)入模塊在 ESM 中更為嚴(yán)格,導(dǎo)入相對路徑的模塊必須包含文件名和文件擴(kuò)展名(例如 *.js 或者 *.mjs),除非你設(shè)置了 fullySpecified=false。

Tip
依舊支持導(dǎo)入包,例如 import “lodash” .

non-ESM 僅能導(dǎo)入 default 導(dǎo)出的模塊,不支持命名導(dǎo)出的模塊。

CommonJs 語法不可用: ?require?, ?module?, ?exports?, ?__filename?, ?__dirname?.

Tip
HMR 使用 import.meta.webpackHot 代替 module.hot。

到此這篇關(guān)于Webpack ECMAScript 模塊的文章就介紹到這了,更多相關(guān)Webpack ECMAScript 模塊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Javascript基礎(chǔ)教程之比較null和undefined值

    Javascript基礎(chǔ)教程之比較null和undefined值

    這篇文章主要介紹了Javascript基礎(chǔ)教程之比較null和undefined值的相關(guān)知識,非常不錯,具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-05-05
  • js實(shí)現(xiàn)tab選項(xiàng)卡切換功能

    js實(shí)現(xiàn)tab選項(xiàng)卡切換功能

    本文主要分享了javascript實(shí)現(xiàn)tab選項(xiàng)卡切換功能的示例代碼。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • JS二分查找算法詳解

    JS二分查找算法詳解

    這篇文章主要為大家詳細(xì)介紹了JS二分查找算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • JavaScript實(shí)現(xiàn)添加、查找、刪除元素

    JavaScript實(shí)現(xiàn)添加、查找、刪除元素

    這篇文章主要匯總介紹了JavaScript實(shí)現(xiàn)添加、查找、刪除元素的方法,十分的簡單實(shí)用,有需要的小伙伴可以參考下。
    2015-07-07
  • 淺析Virtual DOM的概念與其在現(xiàn)代前端框架中的實(shí)踐

    淺析Virtual DOM的概念與其在現(xiàn)代前端框架中的實(shí)踐

    這篇文章將深入探討Virtual DOM(虛擬DOM)的概念,分析其對前端開發(fā)的革新影響,并以此展示前端技術(shù)的深度和魅力,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • JavaScript開發(fā)時的五個注意事項(xiàng)

    JavaScript開發(fā)時的五個注意事項(xiàng)

    JavaScript開發(fā)時的五個注意事項(xiàng)講述了表單事件、鏈接、循環(huán)優(yōu)化、匿名函數(shù)、字符串連接等優(yōu)化技巧,需要的朋友可以參考一下
    2007-12-12
  • 深入探究JavaScript中WeakMap的原理與用法

    深入探究JavaScript中WeakMap的原理與用法

    這篇文章主要對JavaScript中的WeakMap進(jìn)行深入探究,包括它的原理、用法和注意事項(xiàng)等,文中的示例代碼簡潔易懂,需要的小伙伴可以參考一下
    2023-05-05
  • 屏蔽script注入小例子

    屏蔽script注入小例子

    有關(guān)script注入想必大家也有所了解,在本文將為大家介紹下如何屏蔽script注入,下面有個不錯的示例大家可以感受下
    2013-11-11
  • addEventListener()和removeEventListener()追加事件和刪除追加事件

    addEventListener()和removeEventListener()追加事件和刪除追加事件

    這篇文章主要給大家介紹了關(guān)于addEventListener()和removeEventListener()追加事件和刪除追加事件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • JS實(shí)現(xiàn)圖片數(shù)字時鐘

    JS實(shí)現(xiàn)圖片數(shù)字時鐘

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)圖片數(shù)字時鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評論

施甸县| 博野县| 秦皇岛市| 长治市| 自治县| 南陵县| 安西县| 永吉县| 博白县| 原阳县| 弥渡县| 安乡县| 湘阴县| 平远县| 达日县| 治多县| 公主岭市| 奉化市| 嘉义县| 荥阳市| 伊宁市| 陆良县| 南康市| 淮滨县| 积石山| 溆浦县| 云龙县| 屏东县| 和田市| 酒泉市| 和龙市| 乌海市| 荔波县| 西安市| 兰坪| 马龙县| 吐鲁番市| 茂名市| 甘肃省| 大石桥市| 麟游县|