2017-09-04 47 views
4

ESLintエラー'define' is not defined. (no-undef)が引き続き発生します。私は、defineをグローバルに定義することはできますが、これはネイティブにサポートされるべきではないと思いますか?定義が定義されていません(ESLint)

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

これは私の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

誰もが期待と要件が異なるため、ネイティブでは定義されません。だから誰も自分たちのグローバルな要件が何であるかを誰もが指定できるように '.rc'ファイルがあるのです。ですから、設定ファイルにグローバルセクションを追加するだけです。 – Andy

答えて

8

あなた.eslintrc.jsonセットで:

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

"AMD" 環境がある場合は定義を使用して

のコード例eslintはdefinerequireのグローバルを登録します。

AMDとCommonJSを同じコードベースで実際に混在させていない限り、私は"commonjs"環境もオフにします。

+0

ありがとう、それは働いた。削除されたcommonjsも:) –

関連する問題