如何配置StandardJS?

Eri*_*k B 4 javascript standards lint eslint standardjs

StandardJS的主要功能之一是它不需要配置。

问题是我要配置它。我不想放:

/* eslint-env mocha */
Run Code Online (Sandbox Code Playgroud)

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

我在自述文件中发现可以进行某些配置,例如:

{
  "standard": {
    "globals": [ "myVar1", "myVar2" ]
  }
}
Run Code Online (Sandbox Code Playgroud)

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

use*_*745 5

您可以选择两种方法,根据最近实现的StandardJS 来查看对特定项目有效的方法


定义自己的全局变量

package.json中

"standard": {
  "globals": [
    "describe",
    "before",
    "after",
    "beforeEach",
    "afterEach",
    "it",
    "assert"
  ]
}
Run Code Online (Sandbox Code Playgroud)

或在.eslintrc中

{
  "globals": {
    "describe": false,
    "before": false,
    "after": false,
    "beforeEach": false,
    "afterEach": false,
    "it": false,
    "assert": false
  }
}
Run Code Online (Sandbox Code Playgroud)

有关ESLint的配置的更多信息。


定义环境

package.json中

"standard": {
  "env": {
    "mocha": true
  }
}
Run Code Online (Sandbox Code Playgroud)

或在.eslintrc中

{
  "env": {
    "mocha": true
  }
}
Run Code Online (Sandbox Code Playgroud)

查看当前可用的环境


在指定的环境下将StandardJS作为NPM脚本运行

package.json中

{
  "scripts": {
    "lint": "standard --env mocha"
  }
}
Run Code Online (Sandbox Code Playgroud)

使用插件

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

package.json中

"standard": {
  "plugins": [
    "mocha"
  ]
}
Run Code Online (Sandbox Code Playgroud)

或在.eslintrc中

{
  "plugins": [
    "mocha"
  ]
}
Run Code Online (Sandbox Code Playgroud)

根据StandardJS创建自己的自定义规则

签出该存储库。快速总结:

安装方式:

npm install --save-dev eslint-config-standard eslint-plugin-standard eslint-plugin-promise eslint-plugin-import eslint-plugin-node
Run Code Online (Sandbox Code Playgroud)

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

{
  "extends": "standard"
}
Run Code Online (Sandbox Code Playgroud)

由于StandardJS在后台使用ESLint,因此您可以使用ESLint的文档对其进行几乎任何配置。

  • 我试图这样做,但它不接受我的`.eslintrc.json`。你是说我可以在 `.eslintrc` 文件中配置的任何东西都可以在 `package.json` 的标准配置中工作吗? (3认同)