"필수"에 대한 WebStorm 경고 "해결되지 않은 기능 또는 방법"을 수정하는 방법 (Firefox 애드온 SDK)


219

Firefox 애드온 SDK 개발 WebStorm 7을 사용 하고 있습니다 .

WebStorm에 "해결되지 않은 함수 또는 방법"이라는 경고가 표시됩니다 require().

경고를 없애고 싶습니다.

var pageMod = require("sdk/page-mod");

참고 : JavaScript 라이브러리를 이미 구성했습니다 (/ lib / sdk 전역 참조).

환경:

  • WebStorm 7.0.2
  • 윈도우 7 64 비트
  • Firefox 애드온 SDK 1.15beta1

var pageMod = new require ( "sdk / page-mod"); 문제를 해결할 수 있습니다. 코드의 '신규'에 주목
NBK

나는 WebStorm 8과 같은 문제가 있었다
Anthony O.

답변:


351

그게 require()해결되지 않았습니까? 설정 / 언어 및 프레임 워크 / 자바 스크립트 / 라이브러리에서 require.js프로젝트에 추가 하거나 Node.js Globals사전 정의 된 라이브러리를 활성화 해야합니다 .

(@yurik의 설정 경로 편집)

WebStorm 2016.x-2017.x에서 Node.js 코어 라이브러리가 활성화되어 있는지 확인하십시오. Settings (Preferences) | Languages & Frameworks | Node.js and NPM

IntelliJ 2018.3.2에서 이동하여 Settings (Preferences) | Languages & Frameworks | Node.js and NPM활성화하십시오.Coding assistance for Node.js


고마워 레나 내 영어 가난한 가난한 미안합니다. (> _ <;) webstorm-editor에서 경고를 정리하고 싶습니다. (스크립트 실행에는 문제가 없습니다.) Firefox-Addon-SDK는 commonjs를 준수하지만 node.js는 사용하지 않습니다. "필수"메소드 정의 <sdkroot> /app-extension/bootstrap.js bootstrap.js를 외부 라이브러리로 설정했지만 "해결되지 않음"경고를 지우지 않았습니다. <code> let require = cuddlefish.Require (로더, 모듈); function loadSandbox (uri) {let sandbox = ... sandbox.require = function (id) {return Object.freeze ({...}); }; 리턴 샌드 박스; </ code>
skatsumata

11
유용한 답변! BTW, 내 웹 스톰 9에서 위치는 다음과 같습니다. 언어 및 프레임 워크-> Javascript-> 라이브러리 ; 또 다른 방법은 "라이브러리"를 검색하는 것입니다
Paul Ho

1
Webstorm 9에서는 "require"를 마우스 오른쪽 버튼으로 클릭하고 "Javascript 라이브러리 사용
Josh Noe

라이브러리 목록에 'Node.js Globals'가없는 경우 NodeJS 플러그인을 사용하십시오.
0x539

1
참고 : 노드 지원을 끄고 유효하지 않은 캐시를 다시 시작한 후 WebStorm을 다시 시작한 다음 다시 켜서 작동시켜야합니다. WebStorm 2018.3.5
Reactgular

226

웹 스톰 11 및 2016.2.3

Node.js Core libraryWebstorm 설정에서 사용하십시오 .

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


방금 동일한 문제가 있으며 핵심 라이브러리가 이미 활성화되어 있지만 설정 화면으로 이동하면 문제가 해결되는 것처럼 덧붙였습니다.
Rob Rose

1
최신 버전의 node 및 webstorm에서 typescript를 사용하면 작동하지 않았습니다. 아직도 angular2 사람들을위한 해결책을 찾아야합니다. 구성 요소 정의 내부의 사용법styles: [require('./app.component.css')]
Andre

여전히 컴파일러 오류 TS2304 : 'require'이름을 찾을 수 없습니다.
SuperUberDuper

@SuperUberDuper 'require'를 tsconfig.json으로import {*} from 'node module'"target": "CommonJS"
바꾸고

Webstorm 환경 설정 (프로젝트 설정이 아님)에서 활성화하자마자 작동했습니다.
U_D

46

PHPStorm에서는 조금 더 쉽습니다. 설정에서 NPM을 검색하거나 다음을 수행 할 수 있습니다.

File > Settings > Language & Frameworks > Node.js and NPM

그런 다음 사용 단추를 클릭하십시오 (새 버전에서는 "노드에 대한 코딩 지원"이라고 함).


2
활성화 버튼이 없었지만 Node.js에 대한 [x] 코딩 지원이 있었으며 지금은 필요하다고 인식합니다.
더스틴 그레이엄

더스틴 업데이트에 감사드립니다.
Zane Hooper

45

온라인에서 찾은 모든 솔루션을 사용 하여이 작업을 수행하기 위해 한 시간을 보낸 후에 마침내 트릭을 수행했습니다!

파일-> 캐시 무효화 / 다시 시작 ...


2
이것은 WebStrom 2017.2.4와 함께 Array.push가 존재하지 않는 메소드로 잘못 표시되는 문제를 해결하기 위해 나를 위해 일했습니다.
POSIX 호환

1
PhpStorm 2017.2.4 빌드 번호 PS-172.4155.41 업데이트 후 나를 위해 일했습니다 . 문제는 IDE가 ES6 사양을 무시한다는 것입니다.
막시밀리안 Fixl

13

Intellj 2016, Angular2 및 Typescript를 사용하여 작업 한 유일한 방법은 NodeJS에 대한 Typescript Definitions를 얻는 것입니다.

GitHub의 DefinitelyTyped에서 node.d.ts 가져 오기

아니면 그냥 실행 :

npm install @types/node --save-dev

그런 다음 tsconfig.json에 다음을 포함하십시오.

"types": [
     "node"
  ]

3
감사합니다! 나는 나이를 찾고 있었던 것 같은 느낌이 든다! @ types / node를 설치하면 WebStorm이 안정됩니다. 나중에 컴파일러에 대해 살펴 보겠습니다.
Kesarion

고마워, 이것은 나를 위해 일했다. 나를 위해 여기에서 받아 들여진 대답을 사용하여 일했지만 새 라이브러리를 추가함에 따라 어떻게 든 충돌이 시작되었습니다. 이것은 나의 문제를 다시 고쳤다
viorel


5

많은 도움이 된 또 다른 솔루션은 "Node.js and NPM"의 모든 라이브러리를 업데이트하는 것입니다. 모든 라이브러리를 표시하고 파란색 화살표- '업데이트'를 클릭하면됩니다.여기에 이미지 설명을 입력하십시오


4

Webstorm 2016.3에 대한 솔루션

1) ALT + F12 (오픈 트레 미널)를 클릭하십시오

2) 다음 명령을 실행하십시오. npm install require.js


4

JetBrains Inspections를 비활성화하고 ESLint 플러그인을 가져옵니다.

File | Invalidate caches and restart나를 위해 하는 유일한 일은 오류가 사라 졌다고 생각하도록 속일만큼 오랫동안 재설정됩니다. 검사가 다시 실행되면 오류는 계속주는 선물처럼 나타납니다.

나는 모든 JetBrains의 검사를 비활성화하여 모든 좌절감을 자신을 저장 ( Editor> Inspections> 선택을 취소합니다 JavaScript) 그럼 난 ESLint 플러그인을 설치했습니다.

원인 "해결되지 않은 기능 방법"JetBrains의 검사로 이동하여 해제 할 수있는 검사 ( Editor> Inspections> JavaScript)와 "해결되지 않은 자바 스크립트"를 검색하고 "해결되지 않은 자바 스크립트 변수"를 "해결되지 않은 자바 스크립트 기능"을 끄고

나는 그들을 모두 죽이고 그 이후로 코드 번거 로움을 자유롭게 편집했습니다.


3

WebStorm 2019.3 파일> 환경 설정 또는 설정> 언어 및 프레임 워크> Node.js 및 NPM-> NodeJ에 대한 코딩 어설 션 사용

사용하려는 추가 패키지가 포함되어 있습니다.


2

좋아, 여기에 이미 많은 답변을 보았습니다. 해결되지 않은 함수 / 메소드 / 변수 경고가 수정 된 것을 더 추가하고 싶습니다.

" '요구'및 기타 경고를위한 해결되지 않은 기능 또는 방법"으로 해결되었습니다.

Go -> Preferences-> Languages & Frameworks -> Node.js and NPM, then checkmark the "Coding assistance for Node.js"

이 유형의 경고, 확인되지 않은 변수 또는 이와 유사한 것이 여전히 표시되면 다음을 통해 이러한 경고를 수동으로 비활성화 할 수 있습니다.

Go -> Preferences-> Editor-> Inspections-> JavaScript-> General.  

목록을 찾은 다음 비활성화하려는 경고를 확인한 다음 적용하십시오.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.