7

我使用webpackandhtml-webpack-plugin使用生成的脚本包更新我的 index.html 文件,例如bundle.[hash].js.

然后我必须运行webpack-dev-server,以便我可以将该包加载到内存中并利用热模块更换。

这使得代码编译两次。

但是,我想要的是webpack-dev-server也能够用新的 更新 index.html 文件bundle.[hash].js,因为现在我必须先webpack运行webpack-dev-sever. 编译两次似乎很奇怪。

同样,我运行的唯一原因webpack是使用捆绑包的新哈希更新我的 index.html 文件。如果我可以webpack-dev-server将更新的 index.html 输出到磁盘,那么我可以webpack完全放弃该命令。

这可能吗?如果是这样,webpack 配置会发生什么变化?我的 webpack 配置很长,所以我不认为在这里发布它会有所帮助。

4

2 回答 2

5

I think this is exactly what you need: https://github.com/jantimon/html-webpack-harddisk-plugin

webpack-dev-server saves the updated HTML in memory. With this plugin, it will also write it to the file system.

于 2017-04-15T03:25:57.587 回答
1

webpack-dev-server会将编译后的包存储在内存中,并且不会将包写入输出目录,所以我认为您在使用时不需要添加[hash]包名称webpack-dev-server

你可以有三个 webpack 配置文件,比如webpack.common.jswebpack.dev.jswebpack.prod.js

webpack.common.js包含通用配置,可以使用webpack-merge与其他配置合并

webpack.dev.js用于webpack-dev-server,输出文件名应该是bundle.js

webpack.prod.js用于生产,输出文件名应该是bundle.[hash].js

那么你可以简单地运行webpack-dev-server webpack.dev.js

于 2016-06-15T16:20:02.933 回答