2017-09-04 5 views
4

계속 ESLint 오류 'define' is not defined. (no-undef)이 계속 나타납니다. 전 세계적으로 define을 정의 할 수 있지만 기본적으로 지원되지 않아야한다고 생각합니다.정의가 정의되지 않았습니다 (ESLint)

사용하는 코드 예제 정의 : 당신의 .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

:

는 "AMD"환경이
"env": { 
    "amd": true 
}, 

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

이 내 eslintrc.json입니다 eslint는 definerequire에 대해 전역을 등록합니다.

동일한 코드베이스에 AMD와 CommonJS를 실제로 섞어 놓지 않는 한 "commonjs" 환경도 해제합니다.

+0

고마워, 효과가 있었다. commonjs도 삭제했습니다 :) –