本节内容派生于以下链接指向的内容 ,并遵守 CC BY 4.0 许可证的规定。
以下内容如果没有特殊声明,可以认为都是基于原内容的修改和删减后的结果。
监听:该选项用于监听文件变更,并在变更时触发重新编译。
booleanfalse开启监听模式,使 Rspack 在第一次构建完后不会退出,而是继续监听文件变更,并在变更时触发重新编译。
export default {
// ...
watch: true,
};
在使用 @rspack/dev-server 时,watch 默认为 true。
object监听模式相关的配置项。
export default {
// ...
watchOptions: {
ignored: /node_modules/,
poll: true,
},
};number5当第一个文件更改后,在触发 rebuild 前存在一个延迟时间,Rspack 会将这段时间内进行的任何其他更改都聚合到一次 rebuild 里。你可以通过这个选项来设置这个时间,以毫秒为单位:
export default {
//...
watchOptions: {
aggregateTimeout: 600,
},
};RegExp | string | string[]/[\\/](?:\.git|node_modules)[\\/]/监听时排除匹配到的路径。监听大量文件可能会导致 CPU 或内存使用率过高。
Rspack 从 v1.2.0 开始,默认排除 node_modules 和 .git 目录下的文件。这意味着当这些目录下的文件发生变化时,不会触发重新构建。
如果你希望监听 node_modules 目录,可以设置为仅排除 .git 目录:
export default {
//...
watchOptions: {
ignored: /\.git/,
},
};ignored 可以使用 glob 匹配:
export default {
//...
watchOptions: {
ignored: '**/.git',
},
};还可以使用多个 glob 匹配:
export default {
//...
watchOptions: {
ignored: ['**/files/**/*.js', '**/.git', '**/node_modules'],
},
};还可以指定为一个或多个绝对路径:
import path from 'node:path';
export default {
//...
watchOptions: {
ignored: [path.posix.resolve(__dirname, './ignored-dir')],
},
};当使用 glob 匹配时,Rspack 会将它们转换为正则表达式,因此在使用 glob 匹配之前,请确保你熟悉 glob-to-regexp。
boolean, numberfalse是否通过轮询进行监听。
当设置为 true 时,默认的轮询间隔为 5007 毫秒。
export default {
//...
watchOptions: {
poll: true,
},
};还可以设置一个自定义的轮询间隔:
export default {
//...
watchOptions: {
poll: 1000, // 每秒检查一次
},
};booleanfalse是否根据软链接查找文件。这通常是不需要的,因为 Rspack 已经使用 resolve.symlinks 解析了软链接。
export default {
//...
watchOptions: {
followSymlinks: true,
},
};boolean当 stdin 流结束时停止监听。
export default {
//...
watchOptions: {
stdin: true,
},
};