webpack chunkFilename 非入口文件的命名規則 [轉]


官網的文檔只理解了filename是主入口的文件名,chunkFilename是非主入口的文件名

filename應該比較好理解,就是對應於entry里面生成出來的文件名。比如:

{
    entry: { "index": "pages/index.jsx" }, output: { filename: "[name].min.js", chunkFilename: "[name].min.js" } }

生成出來的文件名為index.min.js

chunkname我的理解是未被列在entry中,卻又需要被打包出來的文件命名配置。什么場景需要呢?我們項目就遇到過,在按需加載(異步)模塊的時候這樣的文件是沒有被列在entry中的,如使用CommonJS的方式異步加載模塊:

require.ensure(["modules/tips.jsx"], function(require) { var a = require("modules/tips.jsx"); // ... }, 'tips');

異步加載的模塊是要以文件形式加載,所以這時生成的文件名是以chunkname配置的,生成出的文件名就是tips.min.js

(require.ensure() API的第三個參數是給這個模塊命名,否則 chunkFilename: "[name].min.js" 中的 [name] 是一個自動分配的、可讀性很差的id,這是我在文檔很不起眼的地方1.1K發現的。。。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM