2016-09-06 29 views
1

我是WebStorm的新手,对于Node开发来说相当新颖。我正在研究现有项目,并希望为我的node_modules完成代码。更具体地说,我使用Chai和WebStorm似乎没有找到我的expect.to声明的.have成员。在WebStorm中为node_modules启用代码完成

这是我的代码,简化:

var expect = require('chai').expect; 

import {Customer} from '../../app/model/Customer.js'; 

describe('...', function() { 
    it('...', function() { 
     var customer = new Customer(); 
     expect(customer).to.have.property('name'); 
    }); 
}); 

我得到波浪的have号召下行,WebStorm告诉我Unresolved variable have

如果我在to上的F12,WebStorm带我到另一个节点模块shelljs,但我没有导入那个。

这是因为WebStorm无法解析JavaScript中的所有内容吗?

我已经启用NodeJS的编码协助per the docs,但这没有什么区别。

+0

尝试更换'VAR预期=需要( '柴')。这expect''从“柴”进口{expect}' 反正...你有柴吗?如果没有,运行'npm install'来安装它。 – dlopez

+0

不幸的是,那么在我的导入语句中,这些波浪线就在'{expect}'下。 – Peter

回答

5

问题是由这些chai方法定义的怪异动态方式引起的。作为一种变通方法,我可以建议使用chai.d.ts:

  • 打开 “Settings | Languages & Frameworks | JavaScript | Libraries

  • 点击 “Download...” 按钮,选择 “打字稿社区存根”

  • 查找 “柴”并点击“Download and Install”。

enter image description here

http://blog.jetbrains.com/webstorm/2014/07/how-webstorm-works-completion-for-javascript-libraries/, '使用打字稿社区存根(打字稿定义文件)' 以获取更多信息

+0

似乎没有帮助。我通过下载按钮添加了社区打字稿存根,通过添加按钮在本地添加它们,添加了我的整个node_modules文件夹......仍显示错误的行。 – Peter

+0

适合我 - 请参阅我的答案中插入的图像。我建议创建一个支持票证,提供一个项目,用最少的一组文件重新创建问题 – lena

+0

似乎现在就工作......必须与以前的某些东西冲突。但它现在确实有效。谢谢。 – Peter

相关问题