文件监听是在发现文件发生变化时,自动从新构建出新的输出文件node
webpack开启监听模式,有两种方式:webpack
...
"scripts": {
"watch": "webpack --watch"
},
...
复制代码
module.exports = {
entry:{...},
output:{path:...,filename:...}
watch:true,//默认false,不开启
watchOptions:{
ignored:/node-modules/,//忽略,默认为空
aggregateTimeout:300,//默认300ms,监听文件发生变化等待300ms,再去执行
poll:1000//轮询1s默认1000次
}
}
复制代码
复制代码
原理:轮询监听文件的编辑时间,若是发生变化,将变化了的文件记录下来存储到磁盘中,等待aggregateTimeout时间以后,将记录下来的文件一块儿进行构建,构建到filename指定的文件中。复制代码
输出的文件存储在内存中,因此会比watch快git
配置以下:github
{
"scripts" : {
"dev" : "webpack-dev-server --open"
}
}
复制代码
const webpack = require('webpack')
module.exports = {
plugins : [
new webpack.HotModuleReplacementPlugin()
],
devServer : {
contentBase: './dist', //指定目录
hot : true //开启热更新
}
}
复制代码