webpack中動態import()打包後的檔名稱定義
阿新 • • 發佈:2018-12-22
動態import()
打包出來檔案的name是按照0,1,2...
依次排列,如0.js
、1.js
等,有的時候我們希望打包出來的檔名是打包前的檔名稱。要實現這,需要經歷3個步驟:
1.在webpack
配置檔案中的output
中新增chunkFilename
。命名規則根據自己的專案來定,其中[name]
就是檔名,這一塊更詳細的說明請點選這裡。
//其他程式碼...
output: {
path: path.resolve(__dirname, 'public'),
filename: '[name].[hash:8].js',
chunkFilename: '[name].[hash:8].js' ,//動態import檔名
},
//其他程式碼...
2.在動態import()
程式碼處添加註釋webpackChunkName
告訴webpack打包後的chunk的名稱(註釋中的內容很重要,不能省掉),這裡打包以後的name就是MyFile。
import(/* webpackChunkName: "MyFile" */`../containers/MyFile`)
3.大多數情況下我們使用動態import()
是通過迴圈來做的,這樣我們就不得不引入變量了,使用[request]
來告訴webpack,這裡的值是根據後面傳入的字串來決定,本例中就是變數pathName
的值,具體如下:
import (/* webpackChunkName: "[request]" */`../containers/${pathName}`)