找不到模块 chai 尽管它存在于节点模块文件夹中
cannot find module chai though it exists in node modules folder
我尝试使用以下命令安装 chai。
npm install --save-dev chai
然后我 运行 我的单元测试 class 使用以下导入。
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');有用!为什么导入不起作用?
您可能在幕后使用类似 Babel 的工具来转换为 ES5。
如果是这种情况,它实际上是在 Node 上执行 require
,CommonJS 风格。
如果您像在 CommonJS 中那样在路径后附加 ./
,那么您可能会成功。
请试一试,希望这能解决您的问题:
import {assert} from './chai';
import {expect} from './chai';
我还没有为 chai 安装 typing,也就是说我没有从 DefinitelyTyped 引用 chai,而是将它安装为节点模块。因此我不得不在我的打字稿代码中使用 require 语句来调用它。
var chai = require('chai');
我尝试使用以下命令安装 chai。
npm install --save-dev chai
然后我 运行 我的单元测试 class 使用以下导入。
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');有用!为什么导入不起作用?
您可能在幕后使用类似 Babel 的工具来转换为 ES5。
如果是这种情况,它实际上是在 Node 上执行 require
,CommonJS 风格。
如果您像在 CommonJS 中那样在路径后附加 ./
,那么您可能会成功。
请试一试,希望这能解决您的问题:
import {assert} from './chai';
import {expect} from './chai';
我还没有为 chai 安装 typing,也就是说我没有从 DefinitelyTyped 引用 chai,而是将它安装为节点模块。因此我不得不在我的打字稿代码中使用 require 语句来调用它。
var chai = require('chai');