国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

淺談webpack 四個(gè)核心概念之Entry

2024-05-06 15:38:05
字體:
供稿:網(wǎng)友

因?yàn)閣ebpack是基于nodejs的一款工具,所以在學(xué)習(xí)過程中涉及到的nodejs知識(shí)也會(huì)進(jìn)行解釋進(jìn)行發(fā)散性拓展。

webpack中文文檔

一、module.exports

module.exports = {     entry: './path/to/my/entry/file.js'  };

exports 變量是在模塊的文件級(jí)作用域內(nèi)可用的,且在模塊執(zhí)行之前賦值給 module.exports在nodejs中,提供了exports 和 require 兩個(gè)對(duì)象,其中 exports 是模塊公開的接口,require 用于從外部獲取一個(gè)模塊的接口,即所獲取模塊的 exports 對(duì)象。而在exports拋出的接口中,如果你希望你的模塊就想為一個(gè)特別的對(duì)象類型,請(qǐng)使用module.exports;如果希望模塊成為一個(gè)傳統(tǒng)的模塊實(shí)例,請(qǐng)使用exports.xx方法;module.exports才是真正的接口,exports只不過是它的一個(gè)輔助工具。最終返回給調(diào)用的是module.exports而不是exports。這里引用nodejs官網(wǎng)的一個(gè) 例子

function require(/* ... */) {     const module = { exports: {} };     ((module, exports) => {`請(qǐng)輸入代碼`     // 模塊代碼在這。在這個(gè)例子中,定義了一個(gè)函數(shù)。      function someFunc() {}      exports = someFunc;//也就是說你單獨(dú)給exports賦值時(shí)候exports不屬于module了是一個(gè)單獨(dú)的變量    // 此時(shí),exports 不再是一個(gè) module.exports 的快捷方式,    // 且這個(gè)模塊依然導(dǎo)出一個(gè)空的默認(rèn)對(duì)象。      module.exports = someFunc;//這里導(dǎo)出的函數(shù)是掛在module里的所以會(huì)被導(dǎo)入    // 此時(shí),該模塊導(dǎo)出 someFunc,而不是默認(rèn)對(duì)象。   })(module, module.exports);   return module.exports;//這里是這句話的解釋 (最終返回給調(diào)用的是module.exports而不是exports)  }

二、entry

entry入口起點(diǎn),entry所配置的文件路徑所指向的文件為項(xiàng)目的入口文件也就是內(nèi)部依賴的開始會(huì)根據(jù)入口文件去逐層加載依賴。Chunk 和打包時(shí)入口文件配置有關(guān)如果 entry 是一個(gè) string 或 array ,就只會(huì)生成一個(gè) Chunk,這時(shí) Chunk 的名稱是 main,如果 entry 是一個(gè) object ,就可能會(huì)出現(xiàn)多個(gè) Chunk,這時(shí) Chunk 的名稱是 object 鍵值對(duì)里鍵的名稱。

entry接受三種類型值

1.單入口寫法 String 例:

  entry: './app/to/my/entry/file.js'  entry:{ main:"'./app/to/my/entry/file.js'"}

2.單入口數(shù)組寫法 Array例:

  entry:['./app/entry1', './app/entry2']

 在你想要多個(gè)依賴文件一起注入,并且將它們的依賴導(dǎo)向(graph)到一個(gè)“chunk”時(shí),傳入數(shù)組的方式就很有用。也就是說合并了多個(gè)文件的依賴模塊。

3.對(duì)象語法Object例:

entry:{ a: './app/entry-a', b: ['./app/entry-b1', './app/entry-b2']}

分離第三方模塊和公共模塊

分離第三方模塊和webpack運(yùn)行文件等類似公共模塊是為了避免加載等問價(jià)過大等待時(shí)間長(zhǎng)的優(yōu)化,當(dāng)你不同的入口文件都依賴了相同的第三方模塊這時(shí)候需要把他們抽離出來。這里主要應(yīng)用了entry的對(duì)象語法和CommonsChunkPlugin。實(shí)際應(yīng)用舉例:

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 夏河县| 土默特右旗| 油尖旺区| 襄垣县| 江油市| 济源市| 福建省| 普兰县| 巴青县| 长子县| 洛浦县| 聂荣县| 阳高县| 涟水县| 富裕县| 四子王旗| 寿宁县| 东乡| 梓潼县| 游戏| 海晏县| 潞城市| 上犹县| 潞城市| 中西区| 邯郸市| 闽清县| 克拉玛依市| 喜德县| 沧源| 砀山县| 吉隆县| 孟津县| 饶河县| 昌平区| 五台县| 汾阳市| 花莲县| 县级市| 仁寿县| 景德镇市|