如何更改文件后重新编译webpack?
我使用两个入口点的webpack:
entry: { js: './assets/index.js', css: './assets/sass/all.scss' },
我想configuration它,所以当我更改js
或scss
文件时,它会自动再次运行webpack。
我尝试使用webpack-dev-server
命令使用webpack-dev-server
:
webpack-dev-server --hot
它看起来像是再次build立,它输出的消息
webpack:bundle现在是有效的。
但是,如果我尝试刷新浏览器,我看不到我的更改。 (在开发工具上禁用高速caching并按下Ctrl + F5)。 重新启动节点也不起作用,就好像它已经构build在别的地方,而不是在configuration的输出文件上:
output: { path: path.join(__dirname, '/public'), filename: 'bundle.js'
},
如果你想让webpack监视更改,只需使用watch
标志:
webpack --watch
有了这个选项,webpack将会监视变化并重新编译。
我不是一个webpack专家,但我发现webpack-dev-server不写入磁盘。 它通过它用来提供文件的Express实例从内存中提供结果。
你可以通过在你的html文件中改变path到localhost:8080 / webpack-dev-server / bundle.js来testing,如果你运行webpack-dev服务器,那么应该显示更改。
处理它的正确方法是用publicPath属性更新你的webpack.config.js:
output: { path: path.join(__dirname, '/public'), filename: 'bundle.js', publicPath: "/public/" }
在这种情况下,脚本标签应该引用src =“public / bundle.js”。
更多信息
您可以检出webpack文档( https://webpack.github.io/docs/tutorials/getting-started/#watch-mode )以了解webpack的手表模式。