npm-watch仅监控src根目录JS文件,子目录文件无响应问题求助
解决npm-watch仅监控src根目录JS文件的问题
我来帮你搞定这个监控范围的问题~你现在的npm-watch只响应src根目录的JS文件,核心原因是配置里的glob匹配规则写得太局限了:
"watch": { "build": "src/*.js" }
src/*.js这个规则只能匹配src目录下直接存放的.js文件,没办法递归捕捉子目录里的文件变更。
要让它监控src下所有层级子目录的JS文件,只需要把匹配规则改成src/**/*.js就行,修改后的完整package.json配置如下(保留你原有的其他内容):
{ "name": "dla", "version": "1.0.0", "description": "", "main": "src\\index.js", "scripts": { "build": "webpack", "test": "echo \"Error: no test specified\" && exit 1", "watch": "npm-watch" }, "babel": { "presets": [ "env" ] }, "watch": { "build": "src/**/*.js" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { // 你的依赖内容 } }
小补充:
**在glob语法里代表任意深度的子目录,所以src/**/*.js会覆盖src根目录、所有一级子目录、更深层级子目录里的所有.js文件。- 如果之后你需要更精准的监控范围(比如只盯src下的lib子目录),可以写成
src/lib/**/*.js;要是想同时监控.js和.jsx文件,还能写成src/**/*.{js,jsx}。
保存修改后重新运行npm run watch,现在子目录里的JS文件变更应该就能正常触发build命令啦~
内容的提问来源于stack exchange,提问作者Mickers
相关产品推荐
相关产品推荐

