我尝试使用以下命令安装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');有用!为什么不导入工作?
答案 0 :(得分:2)
我没有为chai安装类型,也就是说我没有从DefinitelyTyped引用chai但是已经将它安装为节点模块。因此,我必须在我的打字稿代码中使用require语句来调用它。
var chai = require('chai');
答案 1 :(得分:0)
你可能会在幕后使用像Babel这样的东西来转换为ES5。
如果是这种情况,它实际上是通过Node,CommonJS样式执行require
。
这样,如果您只是像在CommonJS中那样使用./
附加路径,就可以成功。
请试一试,我希望这可以解决您的问题:
import {assert} from './chai';
import {expect} from './chai';