npm tslint 不报错

Posted

技术标签:

【中文标题】npm tslint 不报错【英文标题】:npm tslint don't give error 【发布时间】:2016-12-17 07:03:06 【问题描述】:

大家都遇到了npm 和tslint 的问题,我希望你能帮助我。 好的,我的情况和代码来了:

package.json

"scripts": 
    "lint": "tslint -c tslint.json 'src/app/**/*.ts'",
    "pretest": "npm run lint ",
    "test": "echo 'No test are made'",
...
  ,

当我运行命令 npm test 这是输出:

输入终端

$ npm test

输出终端

> keoom@1.0.0 pretest c:\Users\Hjorth\Documents\github\keoom-angular
> npm run lint


> keoom@1.0.0 lint c:\Users\Hjorth\Documents\github\keoom-angular
> tslint -c tslint.json 'src/app/**/*.ts'


> keoom@1.0.0 test c:\Users\Hjorth\Documents\github\keoom-angular
> echo 'No test are made'

'No test are made'

如果我运行命令tslint -c tslint.json 'src/app/**/*.ts',另一方面我会看到 linting 错误。

输入终端

$ tslint -c tslint.json 'src/app/**/*.ts'

输出终端

src/app/app.component.ts[1, 27]: " should be '

如您所见,我的代码中有一个 linting 错误,但如果我没有直接运行脚本,它将不会显示。我期待的是:

当我运行 npm test 时,脚本 pretest 将运行,并且该脚本将运行脚本 lint,然后它将在运行 test 之前以 exit 0 退出,因为它会发现 linting 错误.

任何可以提供帮助的人。

【问题讨论】:

【参考方案1】:

问题在于 tslint 命令中文件规范的引号:

"lint": "tslint -c tslint.json 'src/app/**/*.ts'"
                               ^               ^

如果您删除这些,您应该会看到tslint 报告的预期错误。

【讨论】:

我下班回家时会检查,但是否有可能解释为什么单引号应该使输出静音?并且仅在我从另一个脚本运行脚本时使其静音? 因为当您通过终端运行它时,shell 会解释引号内的内容并将包含的字符串作为文件规范参数传递给tslint。但是,当 NPM 解释 script 命令时,这并没有发生,tslint 收到一个包含引号的文件规范 - 并且不匹配任何内容。 它现在在 tslint 错误时刹车很糟糕,谢谢 :)

以上是关于npm tslint 不报错的主要内容,如果未能解决你的问题,请参考以下文章

gulp-TSLint html 报告器可用吗?

typescript使用小结

TSLint:WebStorm 中的语言服务执行超时

gulp-tslint @7.0.1 无法读取未定义的属性“findConfiguration”

Firebase Cloud Function 部署 tslint 错误

VS Code中怎么解决 TSLint: " should be ' (quotemark) 报错问题?