web-dev-qa-db-fra.com

La définition n'est pas définie (ESLint)

Je reçois toujours une erreur ESLint 'define' is not defined. (no-undef). Je pense que je pourrais simplement définir define globalement, mais cela ne devrait-il pas être pris en charge nativement?

Un exemple de code utilisant define:

define([], function () { // Error here!
    'use strict';
    ....

Voici mon 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
    }
}
16
El Mac

Dans votre .eslintrc.json ensemble:

"env": {
    "AMD": true
},

Lorsque l'environnement "AMD" est activé, eslint enregistre les globaux pour define et require.

Je désactiverais également le "commonjs" environnement sauf si vous mélangez vraiment AMD et CommonJS dans la même base de code.

31
Louis