文章目录
- 命令参数
- npm scripts
- webpack.config.js
- 参考文章
借用 webpack中的source map 的demo。
开发过程中频繁修改,每次改动都要手动npm run build
,很不耐烦,有啥好法子么?
当!然!有!
开启监听模式,能够监听文件变化,一旦文件内容更新,webpack就会自动重新编译,解决了 手动npm run build
的烦恼。
但想看到 文件更新后的 效果,还是需要 手动刷新 浏览器。
命令参数
-
webpack help
-
--watch
使用监听模式
-
--watch-aggregate-timeout=xxx
单位是 ms
。
--watch-aggregate-timeout=300
的意思是,文件修改且保存完后,延迟300ms
后再重新编译
-
watch-poll=yyy
单位是ms
。
watch-poll=1000
的意思是,每隔1s
轮询一次,询问文件是否发生变化。
npm scripts
"scripts": {"build": "webpack --config webpack.config.js","watch":"webpack --watch --watch-aggregate-timeout=5000 --watch-poll=1000 --config webpack.config.js"},
演示中,将--watch-aggregate-timeout
设置为5000
,即5s
。
从 文件修改保存 到 重新编译,能感受到明显的时延。
webpack.config.js
const path = require("path");
const {CleanWebpackPlugin} = require("clean-webpack-plugin");
module.exports = {mode:"development",devtool:"cheap-source-map",watch:true,watchOptions:{aggregateTimeout:300,poll:1000,ignored:/node_modules/},entry:"./index.js",output:{filename:"bundle.js",path:path.resolve(__dirname,"dist")},plugins:[new CleanWebpackPlugin()]
}
watch:true
开启监听模式。默认false
,即关闭监听模式watchOptions
aggregateTimeout:300
同--watch-aggregate-timeout
。
单位是ms
。文件修改并保存后,300ms
后再重新编译poll
同--watch-poll:1000
。
单位是ms
。每1s
轮询一次,查看文件是否发生变化。ignored
ignored
,“忽略”的意思。 ignored:/node_modules/
,即不监听node_modules
目录下文件的变化。
参考文章
使用监听模式
watch