Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Caching 如何防止webpack DefinePlugin更改供应商包文件名?_Caching_Webpack - Fatal编程技术网

Caching 如何防止webpack DefinePlugin更改供应商包文件名?

Caching 如何防止webpack DefinePlugin更改供应商包文件名?,caching,webpack,Caching,Webpack,我关注webpack,现在我有3个包:main、runtime和vendors 但是,在我的webpack.config.js中,我使用将package.jsonversion导出到UI,如下所示: newdefinePlugin({ “process.env”:{ 版本:JSON.stringify(`v${packageJSON.VERSION}`) } }), 这会导致我的供应商捆绑包文件名随UI的每个版本而更改 如何将使用DefinePlugin定义的全局变量放入主捆绑包?结果表明,问

我关注webpack,现在我有3个包:main、runtime和vendors

但是,在我的webpack.config.js中,我使用将package.json
version
导出到UI,如下所示:

newdefinePlugin({
“process.env”:{
版本:JSON.stringify(`v${packageJSON.VERSION}`)
}
}),
这会导致我的供应商捆绑包文件名随UI的每个版本而更改


如何将使用DefinePlugin定义的全局变量放入主捆绑包?

结果表明,问题在于使用DefinePlugin定义的键:
'process.env'

我们没有阅读插件,所以webpack用我们的对象替换了第三方库中出现的每一个
process.env
。由于我们还包括应用程序版本,因此每个版本的
vendors.*.js
捆绑包是不同的

通过将
process.env
重命名为just
env
(并相应更改我们的代码),webpack现在可以生成相同的
供应商。*.js
捆绑包,而不管我们的应用程序版本如何