当代码发生修改后可以自动重新编译。

    1. /** ./webpack.config.js **/
    2. module.exports = {
    3. // 默认false,也就是不开启
    4. watch:true,
    5. // 只有开启监听模式时,watchOptions 才有意义
    6. watchOptions: {
    7. // 默认为空,不监听的文件或者文件夹,支持正则匹配
    8. ignored: /node_modules/,
    9. // 监听到变化后会等 300ms 再去执行,默认 300ms
    10. aggregateTimeout: 300,
    11. // 判断文件是否发生变化是通过不停的询问文件系统指定文件是否有变化,默认每秒问1000次
    12. poll: 1000
    13. }
    14. }
    • webpack定时获取文件的更新时间,并跟上次保存的时间进行对比,不一致就表示发生了变化,poll 就用来配置每秒问多少次。
    • 当检测文件不在发生变化,会先缓存起来,等待一段时间之后再通知监听者,这个等待时间通过 aggregateTimeout 配置。
    • webpack 只会监听 entry 依赖的文件。
    • 我们需要尽可能减少需要监听的文件数量和检查频率,当然频率的降低会导致灵敏度下降。