摘要:依賴管理該條已在中文網(wǎng)存在,點擊這里表達(dá)式來調(diào)用當(dāng)你的請求包含表達(dá)式,那個一個上下文環(huán)境將被創(chuàng)建。一個包含所有父文件夾和子及后代文件夾中以結(jié)尾的文件的上下文。一個函數(shù),返回一個數(shù)組,包含上下文模塊能夠處理的所有的請求。
依賴管理 Dependency Management
該條已在webpack2.x中文網(wǎng)存在,點擊這里
es6 modules commonjs amd表達(dá)式來調(diào)用 require with expression
當(dāng)你的請求包含表達(dá)式,那個一個上下文環(huán)境將被創(chuàng)建。這個需要的模塊被編譯的時候是未知的。
例子:
require("./template/" + name + ".ejs");
webpack 解析require語句,并且摘出一些信息:
Directory: ./template Regular expression: /^.*.ejs$/上下文模塊 context modules
一個上下文模塊(context module)被生成之后,它包含目錄模塊的所有引用,并且能夠被一個相匹配的正則表達(dá)式調(diào)用。
上下文模塊包含一個map,能夠把請求翻譯成模塊的id。
例子:
{ "./table.ejs": 42, "./table-row.ejs": 43, "./directory/folder.ejs": 44 }
上下文模塊(context module)也包含一些運行時邏輯(runtime logic)--可以訪問到map。
這意味著支持一步調(diào)用,但是這也會導(dǎo)致所有相關(guān)的模塊將被包含在bundle(被編譯后的文件)中。
require.context你可以創(chuàng)建自己的上下文,通過使用require.context方法(函數(shù))。
它允許傳遞一個路徑,正則表達(dá)式和一個標(biāo)記——如果子目錄允許被搜索匹配的話。
webpack 在這個上下文模塊被創(chuàng)建的時候解析require.context()函數(shù)。
語法如下:
require.context(directory, useSubdirectories = false, regExp = /^.//)
例子:
require.context("./ ", false, /.test.js$/); // test文件中所有的以`test.js`結(jié)尾的文件將能夠被調(diào)用,這就是該語句創(chuàng)建的上下文環(huán)境。
require.context("../", true, /.stories.js$/); // 一個包含所有父文件夾和子及后代文件夾中以`.stories.js結(jié)尾的文件的上下文。context module API
一個上下文模塊(context module)導(dǎo)出一個(require)函數(shù),它包含一個參數(shù)——一個請求。
這個函數(shù)有三個屬性:resolve, keys, id.
resovle 一個函數(shù),返回請求模塊的id。
keys 一個函數(shù),返回一個數(shù)組,包含上下文模塊能夠處理的所有的請求。
這個在你想要調(diào)用匹配到的所有的文件時很有用,例如:
function importAll (r) { r.keys().forEach(r); } importAll(require.context("../components/", true, /.js$/));
var cache = {}; function importAll (r) { r.keys().forEach(key => cache[key] = r(key)); } importAll(require.context("../components/", true, /.js$/)); // At build-time cache will be polulated with all required modules.
id 是指上下文模塊的id,這個也許在module.hot.accept中很有用。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/81847.html
摘要:瀏覽器需要重新下載打包后的文件,即使文件的絕大部分都沒有變化。分離并且以來命名新的入口能夠緩和當(dāng)前的問題?,F(xiàn)在運行綁定的檢查結(jié)果是只是被綁定到這個綁定文件中。 分離庫代碼Code Splitting - Libraries 這個在webpack2.x中文網(wǎng)已存在,點擊這里 讓我們想一個簡單的應(yīng)用——momentjs,他是一個事件格式化的庫。安裝moment. npm install -...
摘要:下載完成之后你可以這樣啟動它如果控制臺提醒這個指令無效,可以嘗試最好的方法是在中添加命令如下上述命令會使瀏覽器自動打開到地址。下載完成,如下使用。 開發(fā)Development 在這篇中我們將說明怎樣開始開發(fā),以及增從三個工具中擇一進行開發(fā)。假使你已經(jīng)設(shè)置了webpack.config.js設(shè)置文件。 該文檔已在webpack2.x中存在,點擊這里 永遠(yuǎn)不要再生產(chǎn)產(chǎn)品中使用這些工具,絕對...
摘要:公開路徑該條已在中文網(wǎng)存在點擊這里有一個非常有用的設(shè)置,允許你設(shè)置一個所有資源的基礎(chǔ)路徑在你的應(yīng)用中。使用案例這里有有些實際應(yīng)用中的案例,其中它使用的非常靈活。 公開路徑(pbulic path) 該條已在webpack2.x中文網(wǎng)存在,點擊這里 webpack有一個非常有用的設(shè)置,允許你設(shè)置一個所有資源的基礎(chǔ)路徑在你的應(yīng)用中。它叫做publicPath。 使用案例(Use cases...
摘要:出口影響編譯的輸出告訴怎樣編譯輸出的文件允許多個入口一個出口的情況。該選項實現(xiàn)跨域加載模塊可以的值是命名每個出口文件。不必明確絕對路徑。使用設(shè)置項,設(shè)置具體位置。僅僅命名文件名字即可。 出口Output 影響編譯的輸出告訴webpack怎樣編譯輸出的文件允許多個入口一個出口的情況。 用法 const config = { output: bundle.js }; module.e...
摘要:一些有用的一些有用的,包括轉(zhuǎn)換小箭頭三角形媒體查詢等中文指南是當(dāng)下最熱門的前端資源模塊化管理和打包工具。 nodejs 入門 nodejs 入門教程,大家可以在 github 上提交錯誤 2016 年最好用的表單驗證庫 SMValidator.js 前端表單驗證工具分享 淺談前端線上部署與運維 說到前端部署,可能大多數(shù)前端工程師在工作中都是使用的公司現(xiàn)成的部署系統(tǒng),與SRE對接、一起完...
閱讀 1613·2021-11-22 09:34
閱讀 1696·2019-08-29 16:36
閱讀 2677·2019-08-29 15:43
閱讀 3121·2019-08-29 13:57
閱讀 1306·2019-08-28 18:05
閱讀 1885·2019-08-26 18:26
閱讀 3254·2019-08-26 10:39
閱讀 3467·2019-08-23 18:40