如何修复WebStorm警告“需要”的“未解决的函数或方法”警告(Firefox附加SDK)


219

我正在将WebStorm 7用于Firefox附加SDK开发。

WebStorm显示警告:的“未解决的函数或方法” require()

我想摆脱警告。

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

注意:我已经配置了JavaScript库(请参阅/ lib / sdk全局变量)。

环境:

  • WebStorm 7.0.2
  • Windows 7 64位
  • Firefox附加SDK 1.15beta1

var pageMod =新的require(“ sdk / page-mod”); 可能会解决问题。注意代码中的“新”
字符

我WebStorm 8有同样的问题
安东尼O.

Answers:


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。定义了<sdkroot> /app-extension/bootstrap.js的“ require”方法我将bootstrap.js设置为“外部库”,但未清除“未解决”的警告。<code> let require = cuddlefish.Require(loader,module); 函数loadSandbox(uri){让sandbox = ... sandbox.require = function(id){return Object.freeze({...}); }; 返回沙箱;</ code>
skatsumata

11
有用的答案!顺便说一句,在我的Webstorm 9中,位置是: 语言和框架-> Javascript->库 ;另一种方法是搜索“图书馆”
Paul Ho

1
在Webstorm 9中,您也可以右键单击“要求”,然后选择“使用Javascript库
Josh Noe

如果库列表中缺少“ Node.js Globals”,请启用NodeJS插件。
0x539

1
仅供参考:我必须关闭节点辅助功能,无效的缓存并重新启动WebStorm,然后再将其重新打开以使其正常运行。WebStorm 2018.3.5
Reactgular

226

Webstorm 11和2016.2.3

Node.js Core library在Webstorm设置中启用。

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明


我只是想补充一点,我也遇到了同样的问题,尽管我的核心库已经启用,但进入设置屏幕似乎可以解决该问题。
罗伯·罗斯

1
使用带有最新版本的node和webstorm的打字稿对我不起作用。仍在寻找我们angular2人员的解决方案。组件定义中的用法styles: [require('./app.component.css')]
Andre

我仍然在编译器错误TS2304中出错:找不到名称'require'。
SuperUberDuper '16

@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

然后单击启用按钮(在新版本中,显然是“ Node的编码帮助”)。


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规范。
Maximilian Fixl

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平静下来。稍后再介绍编译器。
Kesarion

谢谢,这对我有用。对我来说,它曾经使用这里接受的答案来工作,但是随着我添加新库的出现,它以某种方式开始发生冲突。这再次解决了我的问题
暴力



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),并搜索“未解决的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.  

然后您会找到一个列表,并且只是取消选中要禁用然后应用的警告。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.