如何配置StandardJS?

9

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

问题是我想要进行配置。我不想使用:

/* eslint-env mocha */

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

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

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

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


https://github.com/standard/standard/blob/master/options.js 嗯嗯嗯嗯嗯 - Cody G
这个 VSCode 插件允许修改设置,也许可以查找它们的实现方式。https://marketplace.visualstudio.com/items?itemName=chenxsan.vscode-standardjs - Cody G
1个回答

8

针对最新的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
  }
}

定义一个环境

package.json 文件中:

了解更多关于 ESLint 配置的内容。

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

或在.eslintrc中:

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

查看当前可用的环境


package.json中指定环境运行StandardJS脚本

{
  "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

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

{
  "extends": "standard"
}

由于 StandardJS在内部使用ESLint,因此您可以根据需要使用ESLint文档进行配置。

3
我尝试过这样做,但它没有识别我的.eslintrc.json文件。你是说我在.eslintrc文件中配置的任何内容都可以在package.json的标准配置中工作吗? - Erik B
StandardJS 绝对建议将您的每个项目配置放入项目的 package.json 文件中所以首先尝试这样做。此外,尝试在项目根目录下创建一个名为 .eslintrc(没有任何扩展名)或者 eslintrc.json(没有前导点号),并检查 StandardJS 是否会选取它。如果不行,看起来他们当前的实现更偏好于 package.json 选项。 - user7637745
如果以上方法都不起作用,请查看此存储库并尝试使用其解决方案来配置StandardJS。请尝试这些选项,并告诉我哪个解决方案适用于您。 - user7637745
这就是我所做的。我只是配置了eslint使用标准配置,这样我就可以为我的测试设置不同的linting规则。然而,这并没有回答我的问题。 - Erik B

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接