2017-09-03 48 views
0

我刚安装ESLint错误,我可以成功地通过在终端窗口这样运行:中的package.json作品行书,但包括

./node_modules/.bin/eslint app 

注:app是我想皮棉检查根文件夹。

我然后把在我的package.json确切的命令:

"scripts": { 
    "lint": "./node_modules/.bin/eslint app" 
    } 

我希望能够在这样的终端窗口中运行它:

npm run lint 

注:我知道如何修复no-undef错误。我的问题是关于之后的许多错误行。

它的实际工作,但显示了我正确的输出后,也产生了一堆错误:

enter image description here

这是为什么发生?

回答

3

这是npm脚本运行器如何处理脚本错误(即非零退出代码)的默认方式。即使您只运行exit 1这样的脚本,这种情况也会一直发生。

我不确定为什么这个功能存在,在大多数情况下它似乎令人讨厌和无用。

如果你不想看到这个,你可以在脚本的末尾添加|| true

例子:

lint: "eslint app || true"

正如你可能已经注意到了,我省略了一部分的eslint二进制文件。当试图运行脚本时,npm脚本运行器已经包含本地二进制文件作为路径的一部分,因此不需要使用完整路径。

+0

关于能够省略完整路径的优秀提示。谢谢。 –

0

document是全球性的,所以eslint认为你错过了某处的导入。对于这些情况,你能适应你的配置,以便不报告错误,事情是这样的:

module.exports = { 
    "globals": { 
    "document": true 
    } 
} 

这应该被保存为.eslintrc.js并在同一水平,你的package.json

+1

如果我正确理解问题,OP会询问为什么当linter失败时出现错误日志,而不是如何解决linter错误。 –

+0

这是正确的。我知道如何解决no-undef错误。 –

+0

此外,这是[已经回答(shamelss插件)](https://stackoverflow.com/a/34820916/1276128)。 –