尝试webpack build在我的配置中使用散列运行时出现此错误:
ERROR in chunk main [entry]
[name].[chunkhash].js
Cannot use [chunkhash] or [contenthash] for chunk in '[name].[chunkhash].js'
(use [hash] instead)
Run Code Online (Sandbox Code Playgroud)
Webpack dev服务器运行正常
这是什么原因?
piz*_*zae 25
new webpack.HotModuleReplacementPlugin()在插件中注释帮助解决了这个问题
小智 5
这也对我有用...感谢@pizzaae。要注意的一件事是,您 永远不想在生产期间启用HMR。如果要同时使用HotModuleReplacementPlugin和chunkash,则为Prod和Dev使用不同的Webpack配置可以有所帮助。
我做了更像这样的事情,所以你没有注释掉功能
output: {
filename: process.env.production ? `bundle-[chunkHash].js` : `bundle-[hash].js`
}
Run Code Online (Sandbox Code Playgroud)
ChunkHash 应该只在生产中使用。
小智 5
我的解决方案是根据模式是生产模式还是开发模式来更改文件名:
filename: mode === 'production' ? '[name].[chunkhash].js' : '[name].[hash].js',
解决了我的问题,但仍然可以将chunkhash用于生产文件名以及HotModuleReplacementPlugin。
| 归档时间: |
|
| 查看次数: |
8535 次 |
| 最近记录: |