0
点赞
收藏
分享

微信扫一扫

webpack基础篇(十):文件监听


说明

​玩转webpack​​课程学习笔记。

什么是文件监听

文件监听是在发现源码发生变化时,自动重新构建出新的输出文件。

两种方式

webpack 开启监听模式,有两种方式:

  • 启动​​webpack​​​ 命令时,带上​​--watch​​ 参数
  • 在配置​​webpack.config.js​​​ 中设置​​watch: true​

唯一缺陷

每次需要手动刷新浏览器。

可以在​​package.json​​文件里面添加脚本。

{
"scripts": {
"build": "webpack",
"watch": "webpack --watch"
}
}

原理分析

1、轮询判断文件的最后编辑时间是否变化

2、某个文件发生了变化,并不会立刻告诉监听者,而是先缓存起来,等 ​​aggregateTimeout​

当第一个文件更改,会在重新构建前增加延迟。这个选项允许 webpack 将这段时间内进行的任何其他更改都聚合到一次重新构建里。以毫秒为单位。

​​anymatch 模式​​

module.export = {
// 默认 false,也就是不开启
watch: true,
// 只有开启监听模式时,watchOptions才有意义
watchOptions: {
// 默认为空,不监听的文件或者文件夹,支持正则匹配
// 对于某些系统,监听大量文件系统会导致大量的 CPU 或内存占用。这个选项可以排除一些巨大的文件夹,例如 node_modules
// 也可以使用 anymatch 模式:ignored: "files/**/*.js"
ignored: /node_modules/,
// 监听到变化发生后会等300ms再去执行,默认300ms
aggregateTimeout: 300,
// 通过传递 true 开启 polling,或者指定毫秒为单位进行轮询。
poll: 1000 // 每秒检查一次变动
}
}


举报

相关推荐

0 条评论