我目前拥有一个运行linter的npm脚本。显然会输出一些错误,但是npm脚本失败了,而不只是显示错误并继续执行。
这很糟糕,尤其当有其他东西调用该脚本时,它会完美地使一切崩溃。我可以始终运行npm run lint --force
来避免错误,但我并不总是有这种--force
的奢侈条件(例如,在git-hook中)。
我该如何设置我的脚本以输出错误而不会制造混乱?
找到答案了:
只需在命令的结尾添加:exit 0
就可以了!
还有一些其他的选项也是跨平台的:
eslint || true
如果在Windows上使用,您需要先npm install cash-true
exitzero eslint
您需要先npm install exitzero
我想在npm脚本
中解决这个问题总是有点受限。有一个微型模块runjs,它是一种小型脚本增强工具。它可以运行cli命令并在JS中处理错误。所以你可以像这样做(runfile.js
):
import { run } from 'runjs'
export function lint () {
try {
run('eslint .')
} catch (e) {
// handle error how you want, you can silently just do nothing or re-throw it by: throw e.stack
}
}
然后在控制台中:
$ run lint