Website-Suche

javascript - kann Modul chai nicht finden, obwohl es im Node-Modules-Ordner existiert


Ich habe versucht, Chai mit folgendem Befehl zu installieren.

 npm install --save-dev chai

Dann habe ich meine Unit-Test-Klasse mit den folgenden Imports ausgeführt.

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

Es wirft die unten stehenden Fehler.

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'

Was mache ich hier falsch? Ich kann den Chai-Ordner auch im node_modules-Ordner sehen.

Wenn ich sage var chai=require('chai'); funktioniert es! Warum funktioniert import nicht?

Antwort #1

Ich habe keine Typisierung für Chai installiert, das heißt, ich habe Chai nicht von DefinitelyTyped referenziert, sondern als Node-Modul installiert. Daher musste ich es in meinem TypeScript-Code mit einer require-Anweisung aufrufen.

 var chai = require('chai');

Antwort #2

Nun, dieser Fehler kann tatsächlich durch die Installation der Typen behoben werden. Es ist seltsam, aber es hat bei mir funktioniert. Versuch es mal:

npm i --save-dev @types/chai

Verwandte Artikel