8

StandardJS的主要特点之一是它不需要配置。

问题是我想配置它。我不想说:

/* eslint-env mocha */

...在每个测试文件中。我想将 StandardJS 配置为将测试目录中的所有内容都视为 mocha 测试。

我在README中发现可以进行一些配置,例如:

{
  "standard": {
    "globals": [ "myVar1", "myVar2" ]
  }
}

...但我正在努力寻找有关配置选项的更全面的文档。是否可以配置 StandardJS 以区别对待不同目录中的文件?

4

1 回答 1

7

根据最近的 StandardJS 实现,您有几个选项可以尝试并查看对您的特定项目有效的方法。


定义你自己的全局变量

package.json中:

"standard": {
  "globals": [
    "describe",
    "before",
    "after",
    "beforeEach",
    "afterEach",
    "it",
    "assert"
  ]
}

或在.eslintrc中:

{
  "globals": {
    "describe": false,
    "before": false,
    "after": false,
    "beforeEach": false,
    "afterEach": false,
    "it": false,
    "assert": false
  }
}

更多关于 ESLint 的配置。


定义环境

package.json中:

"standard": {
  "env": {
    "mocha": true
  }
}

或在.eslintrc中:

{
  "env": {
    "mocha": true
  }
}

查看当前可用的环境


使用指定的环境将 StandardJS 作为 NPM 脚本运行

package.json中:

{
  "scripts": {
    "lint": "standard --env mocha"
  }
}

使用插件

安装插件后(例如eslint-plugin-mocha

package.json中:

"standard": {
  "plugins": [
    "mocha"
  ]
}

或在.eslintrc中:

{
  "plugins": [
    "mocha"
  ]
}

基于 StandardJS 创建您自己的自定义规则

查看此存储库。快速概要:

安装:

npm install --save-dev eslint-config-standard eslint-plugin-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node

然后通过扩展 StandardJS 创建一个.eslintrc文件并开始填充您自己的规则:

{
  "extends": "standard"
}

由于StandardJS 在后台使用 ESLint,您几乎可以使用 ESLint 的文档来配置它,但是您想要它。

于 2018-06-14T19:43:50.590 回答