2017-09-04 1 views
4

Ich bekomme immer einen ESLint Fehler 'define' is not defined. (no-undef). Ich glaube, ich könnte global definieren, aber sollte dies nicht nativ unterstützt werden?Define ist nicht definiert (ESLint)

Ein Codebeispiel unter Verwendung definieren:

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

Das ist mein 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 
    } 
} 
+0

Es wäre nicht nativ definiert, weil jeder andere Erwartungen und Anforderungen hat. Deshalb gibt es eine '.rc' Datei, so dass jeder angeben kann, was seine globale Anforderung für sich selbst ist. Also, ja, fügen Sie einfach einen Globals-Abschnitt zu Ihrer Konfigurationsdatei hinzu. – Andy

Antwort

8

In Ihrem .eslintrc.json Set:

"env": { 
    "amd": true 
}, 

Wenn die "amd" Umwelt eingeschaltet, registriert eslint Globals für und require.

Ich würde auch die "commonjs" Umgebung ausschalten, wenn Sie nicht wirklich AMD und CommonJS in der gleichen Codebasis mischen.

+0

Danke, es hat funktioniert. Commonjs auch entfernt :) –

Verwandte Themen