就可以从命令行运行的脚本而言,您可以尝试使用 npm-watch:https://www.npmjs.com/package/npm-watch.
我已经用它成功地完成了你所说的事情。这就是我所做的:
将 npm-watch 安装到我的项目中:
$ npm install npm-watch --save-dev
将以下内容添加到我的 package.json 文件中:
"watch": {
"lint": "src/main.ts"
},
"scripts": {
"lint": "tslint src/**/*.ts -t verbose",
"watch": "npm-watch"
},
我认为 npm-watch 是一个很好的工具,可以为没有监视功能的工具(例如 tslint)提供监视功能。
Update:
另外,如果您不想在 package.json 文件中添加“watch”部分,我实际上刚刚发现了一个我更喜欢的新工具,称为 chokidar。它允许您指定要在同一行上运行的文件选择器和命令。
这是我更新的 package.json:
"scripts": {
"lint:watch": "chokidar webpack.config.* src/**/*.ts buildScripts/**/*.ts -c \"npm run lint\" --initial --verbose"
},
基本上,您可以为其提供一个或多个文件选择器,然后使用“-c”参数来指定在更改任何这些文件时要运行的命令。
所以现在你可以运行命令:
$ npm run lint:watch
我喜欢在设置了 --initial 标志的情况下运行它,因此在执行命令之前它不会等待任何文件更改。