ESLint不会忽略.eslintrc.json

时间:2017-06-08 02:38:00

标签: javascript node.js webpack eslint

我试图让eslint忽略我使用webpack.ProvidePlugin进行全局导入的文件,但该文件仍在被删除。

//file arrangement
- vendor
  `- google.js
- ...
- webpack.config.js

//relevant webpack configurations
resolve: {
  extensions: ['.js', '.json'],
  alias: {
    'google': path.resolve(__dirname, './vendor/google.js')
  }
},

....
plugins: [
  new webpack.ProvidePlugin({
    'google': 'google'
  })
]

 /*google is successfully available globally*/

//.eslintrc.json
{
  "extends": ["standard", "standard-react"],
  "globals": {
    "google": true
  }
}

//package.json script
"dev": "webpack-dev-server --port 5888",
 ...
"lint": "eslint js/**/*.js webpack.config.js"

然而,我仍然从google.js收到数百个linting错误。它已经缩小了,但是webpack文档说虽然这是首选,但它可能并不是必需的,而且eslint文档根本没有提及它。

我还尝试了the docs

中提到的忽略评论风格
//google.js
/*global google:true*/

为什么ESLint仍然给我所有这些掉毛错误?

1 个答案:

答案 0 :(得分:1)

global option仅指使用全局变量,不会影响文件是否被打印。

如果您不想对特定文件进行lint,则可以使用.eslintignore文件从linting过程中排除与模式匹配的文件。它与.gitignore非常相似。

您可能希望排除所有供应商文件,因此您可以使用Ignoring files from linting中建议的模式。

**/vendor/*.js

这将为您提供对被忽略文件的警告,因为您正在使用glob,它会被您的shell扩展,因此您显式将文件传递给ESLint(请参阅Ignored File Warnings )。您可以通过传递目录来消除该警告,并且ESLint将lint目录中的每个JavaScript文件,因此不需要您的glob。

"lint": "eslint js/ webpack.config.js"