如何使用Webpack-dev-server和HTML-webpack-plugin将.html输出到磁盘

Tet*_*Dev 5 webpack webpack-dev-server webpack-hmr html-webpack-plugin webpack-hot-middleware

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

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

这使代码编译两次.

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

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

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

Ser*_*nos 5

我认为这正是您所需要的:https ://github.com/jantimon/html-webpack-harddisk-plugin

webpack-dev-server将更新后的 HTML 保存在内存中。有了这个插件,它还会将其写入文件系统。


Mar*_*Cen 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