繁体   English   中英

节点模块文件夹中存在模块柴,但找不到模块

[英]cannot find module chai though it exists in node modules folder

我尝试使用以下命令安装chai。

 npm install --save-dev chai

然后,使用以下导入内容运行单元测试类。

import {assert} from 'chai';
import {expect} from 'chai';

它引发以下错误。

test\main\MessageBroker.spec.ts(3,22): error TS2307: Cannot find module 'chai'.
[05:38:45] [Typescript] TypeScript error: test\main\MessageBroker.spec.ts(3,22): error TS2307: Cannot find module 'chai'.
test\main\MessageBroker.spec.ts(4,22): error TS2307: Cannot find module 'chai'.
[05:38:45] [Typescript] TypeScript error: test\main\MessageBroker.spec.ts(4,22): error TS2307: Cannot find module 'chai'

我在这里做错了什么? 我也可以在node_modules文件夹中看到chai文件夹。

当我说var chai = require('chai'); 有用! 为什么不导入工作?

我尚未安装chai的类型,即我尚未从DefinitelyTyped引用chai,但已将其安装为节点模块。 因此,我必须在我的打字稿代码中使用require语句来调用它。

 var chai = require('chai');

您可能在后台使用Babel之类的东西来移植到ES5。

如果是这种情况,它实际上是在CommonJS风格的Node上执行require

这样,如果您像在CommonJS中那样在路径./加上./就可以成功。

请尝试一下,希望这可以解决您的问题:

import {assert} from './chai';
import {expect} from './chai';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM