我使用webpack
和html-webpack-plugin
使用生成的脚本包更新我的index.html文件,例如bundle.[hash].js
。
然后我必须运行webpack-dev-server
所以我可以将该软件包加载到内存中并利用热模块替换。
这使代码编译两次。
但是,我希望webpack-dev-server
能够使用新的bundle.[hash].js
更新index.html文件,因为现在我必须运行webpack
后跟{ {1}}。编译两次似乎很奇怪。
同样,我运行webpack-dev-sever
的唯一原因是使用捆绑包的新哈希更新我的index.html文件。如果我可以让webpack
将更新的index.html输出到磁盘,那么我可以完全删除webpack-dev-server
命令。
这可能吗?如果是这样,webpack配置会改变什么?我的webpack配置很长,所以我认为在这里发布它会有所帮助。
答案 0 :(得分:2)
我认为这正是您所需要的:https://github.com/jantimon/html-webpack-harddisk-plugin
webpack-dev-server
将更新的HTML保存在内存中。使用此插件,它还会将其写入文件系统。
答案 1 :(得分:1)
webpack-dev-server
会将编译后的bundle存储在内存中,并且不会将bundle写入ouput目录,所以我认为在使用{{1}时你不需要在bundle name中添加[hash]
},
您可以拥有三个webpack配置文件,例如 webpack.common.js , webpack.dev.js 和 webpack.prod.js 。
webpack.common.js 包含可以使用webpack-merge
与其他配置合并的常见配置 webpack.dev.js 用于webpack-dev-server
,输出文件名应为webpack-dev-server
webpack.prod.js 用于制作,输出文件名应为bundle.js
然后你可以简单地运行bundle.[hash].js