定义未定义(ESLint)

El *_*Mac 17 javascript requirejs eslint

我一直收到ESLint错误'define' is not defined. (no-undef).我相信,我可以define全局定义,但不应该本地支持吗?

使用define的代码示例:

define([], function () { // Error here!
    'use strict';
    ....
Run Code Online (Sandbox Code Playgroud)

这是我的eslintrc.json:

{
    "env": {
        "shared-node-browser": true,
        "commonjs": true
    },
    "plugins": ["requirejs"],
    "extends": ["eslint:recommended"],
    "rules": {
        "indent": [
            "error",
            "tab"
        ],
        "linebreak-style": [
            "error",
            "windows"
        ],
        "quotes": [
            "error",
            "single"
        ],
        "semi": [
            "error",
            "always"
        ],
        "requirejs/no-invalid-define": 2,
        "requirejs/no-multiple-define": 2,
        "requirejs/no-named-define": 2,
        "requirejs/no-commonjs-wrapper": 2,
        "requirejs/no-object-define": 1
    }
}
Run Code Online (Sandbox Code Playgroud)

Lou*_*uis 33

在你的.eslintrc.json集合中:

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

当"amd"环境打开时,eslint会为define和注册全局变量require.

"commonjs"除非你真的在相同的代码库中混合使用AMD和CommonJS,否则我也会关闭环境.