「require」(FirefoxアドオンSDK)の「未解決の関数またはメソッド」のWebStorm警告を修正するにはどうすればよいですか?


219

FirefoxアドオンSDK開発にWebStorm 7を使用しています

WebStormは、「未解決の関数またはメソッド」の警告を表示しrequire()ます。

警告を取り除きたいのですが。

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

注:JavaScriptライブラリをすでに設定しています(/ lib / sdkグローバルを参照)。

環境:

  • WebStorm 7.0.2
  • Windows 7 64ビット
  • FirefoxアドオンSDK 1.15beta1

var pageMod = new require( "sdk / page-mod"); 問題を解決することがあります。コードの「新しい」に注意してください
NBK

私はWebStorm 8と同じ問題を抱えていた
アンソニーO.

回答:


351

それrequire()は解決されないということですか?require.jsプロジェクトに追加するかNode.js Globals、設定/言語およびフレームワーク/ JavaScript /ライブラリで事前定義されたライブラリを有効にする必要があります。

(@yurikによる編集パス)

WebStorm 2016.x-2017.x:Node.js Coreライブラリが有効になっていることを確認してください 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を使用していません。「require」メソッドが定義された<sdkroot> /app-extension/bootstrap.js bootstrap.jsを外部ライブラリに設定しましたが、「未解決」の警告をクリアしていません。<コード> let require = cuddlefish.Require(loader、module); function loadSandbox(uri){let sandbox = ... sandbox.require = function(id){return Object.freeze({...}); }; サンドボックスを返す; </ code>
skatsumata 2013年

11
便利な答え!ところで、私のウェブストーム9では、場所は次のとおりです。 言語とフレームワーク-> Javascript->ライブラリ ; もう1つのアプローチは、「図書館」を検索することです
Paul Ho

1
Webstorm 9では、「require」を右クリックし、「Use JavaScript Script Library-> Node.js Globals」を選択することもできます
Josh Noe

ライブラリリストに「Node.js Globals」がない場合は、NodeJSプラグインを有効にします。
0x539 2017

1
参考までに、ノードアシストをオフにしてキャッシュを無効にし、WebStormを再起動してから、オンに戻して機能させる必要がありました。WebStorm 2018.3.5
Reactgular

226

Webstorm 11および2016.2.3

Node.js Core libraryWebstorm設定で有効にします。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ここに画像の説明を入力してください


同じ問題が発生したことを追加したいだけで、コアライブラリは既に有効になっていますが、設定画面に移動すると問題が解決したようです。
ロブ・ローズ

1
nodeとwebstormの最新バージョンでtypescriptを使用すると、私にはうまくいきませんでした。まだ私たちangular2の人々のための修正を探しています。コンポーネント定義内での使用styles: [require('./app.component.css')]
Andre

コンパイラエラーTS2304にまだエラーがあります。「require」という名前が見つかりません。
SuperUberDuper

あなたは交換する必要があります@SuperUberDuper「必要」とimport {*} from 'node module'し、指定した"target": "CommonJS"内部tsconfig.jsonを
Bhoomtawath Plinsut

Webstormの設定(プロジェクトの設定ではない)で有効にするとすぐに機能した
U_D

46

PHPStormでは、少し簡単です。設定でNPMを検索するか、次のようにします。

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

次に、有効化ボタンをクリックします(新しいバージョンでは、「ノードのコーディングアシスタンス」と呼ばれています)。


2
有効化ボタンはありませんでしたが、確認したNode.jsの[x]コーディング支援がありました。
ダスティングラハム

更新ダスティンをありがとう、それに応じて私の答えを更新しました。
Zane Hooper

45

オンラインで見つかったすべてのソリューションを使用してこれを機能させるために1時間を費やした後、これでようやく成功しました!

ファイル->キャッシュの無効化/再起動...


2
これはWebStrom 2017.2.4で私に役立ち、存在しないメソッドとしてArray.pushが誤って示される問題を解決しました。
POSIX準拠、

1
PhpStorm 2017.2.4ビルド番号PS-172.4155.41を更新した後、私のために働きました。問題は、IDEがES6仕様を無視していたことです。
Maximilian Fixl 2017年

13

Intellj 2016、Angular2、およびTypescriptでの作業... NodeJSのTypescript定義を取得することだけが私にとって有効でした

GitHubのDefinitelyTypedからnode.d.tsを取得する

または単に実行します:

npm install @types/node --save-dev

次に、tsconfig.jsonに、

"types": [
     "node"
  ]

3
ありがとうございました!ずっと探していた気がする!@ types / nodeをインストールするだけでWebStormは落ち着きました。コンパイラについては後で説明します。
ケサリオン

ありがとう、これは私のために働いた。私にとっては、ここでは受け入れられた答えを使用して機能していましたが、新しいライブラリを追加すると、どういうわけか競合し始めました。これは私の問題を再び修正しました
viorel


5

私を大いに助けたもう1つの解決策は、「Node.jsとNPM」のすべてのライブラリを更新することです。すべてのライブラリをマークして青い矢印をクリックするだけです-'更新'ここに画像の説明を入力してください


4

Webstorm 2016.3のソリューション

1)ALT + F12(オープントレミナル)をクリックします

2)コマンドを実行します:npm install require.js


4

JetBrains検査を無効にし、ESLintプラグインを取得します。

File | Invalidate caches and restart私にできる唯一のことは、エラーがなくなったと私をだましてしまうほど長くそれをリセットすることです。検査が再度実行されると、エラーはギフトのように戻ってきます。

私はすべてのJetBrainsの検査を無効にして、すべてのことの不満を自分自身を保存した(Editor> Inspections>チェックを外しますJavaScript)それから私はESLintプラグインをインストールしました。

「未解決関数法」を引き起こし検査は、(JetBrainsの検査に行くことによってオフにすることができますEditor> Inspections> JavaScript)と、「未解決のJavascript」を検索して、「未解決のJavascript機能」と「未解決JavaScript変数」をオフにします

それ以来、私はそれらすべてを殺し、コードの煩わしさから解放されました。


3

WebStorm 2019.3ファイルの場合>設定または設定>言語とフレームワーク> Node.jsおよびNPM-> NodeJのコーディング支援を有効にする

使用したい追加のパッケージが含まれていることに注意してください。


2

さて、ここですでに与えられた多くの答えを見てきました。未解決の関数/メソッド/変数の警告が修正されたいくつかの答えを追加したいと思います。

それは「「require」の未解決の関数またはメソッドとその他の警告」が解決されました

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.