Open
Description
构建 umd
的命令:vue-cli-service build --target lib --inline-vue --name subapp ./src/main.js
,发现生成的 umd.js
文件不带hash,尝试在vue.config.js
中配置hash:
configureWebpack: {
output: {
// 在文件名中添加哈希
filename: '[name].js',
chunkFilename: '[name].[hash].js'
}
}
但是上面打包后文件名并没带hash。
深入查看打包源码,发现:node_modules\@vue\cli-service\lib\commands\build\resolveLibConfig.js
文件中:
rawConfig.output = Object.assign({
library: libName,
libraryExport: isVueEntry ? 'default' : undefined,
libraryTarget: format,
// preserve UDM header from webpack 3 until webpack provides either
// libraryTarget: 'esm' or target: 'universal'
// https://github.com/webpack/webpack/issues/6522
// https://github.com/webpack/webpack/issues/6525
globalObject: `(typeof self !== 'undefined' ? self : this)`
}, rawConfig.output, {
filename: `${entryName}.js`,
chunkFilename: `${entryName}.[name].js`,
// use dynamic publicPath so this can be deployed anywhere
// the actual path will be determined at runtime by checking
// document.currentScript.src.
publicPath: ''
})
外部配置的 chunkFilename
已经被后面的写死覆盖了。
Metadata
Metadata
Assignees
Labels
No labels