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
