javascript - Restify + TypeScript:
Saya memiliki aplikasi Node.js + Restify, ditulis dalam TypeScript. Saya mencoba memuat modul Crypto (https://nodejs.org/api/crypto.html):
import * as crypto from "crypto";
Ketika saya mengompilasi skrip, saya mendapatkan kesalahan berikut:
error TS2307: Cannot find module 'crypto'.
Ketika saya menggunakan JavaScript alih-alih TypeScript, itu bekerja dengan baik:
var Crypto = require('crypto');
Modul lain yang saya muat di tempat yang sama bekerja dengan baik, misalnya:
import * as bcrypt from "bcrypt";
Apa yang saya lakukan salah?
Jawaban #1
Hapus ketergantungan crypto, karena sudah dipindahkan ke NodeJS... tanpa ketergantungan itu, impor bekerja dengan baik untuk saya dalam file njsproj di Visual Studio:
import * as crypto from 'crypto';
Jika Anda mengalami masalah yang lebih umum atau berada di IDE atau jenis proyek yang tidak mengenali Node, periksa apakah Anda memiliki typings sebagai dependensi pengembangan, misalnya @types/node.
Jawaban #2
Saya mengalami masalah yang sama, saya telah menyelesaikannya dengan dependensi ini:
"dependencies": {
"bcrypt": "3.0.0",
...
},
"devDependencies": {
"@types/bcrypt": "^2.0.0",
"ts-node": "5.0.1",
"typescript": "2.6.2",
...
}
setelah itu, saya bisa mengimpor modul tanpa kesalahan
import * as bcrypt from 'bcrypt';
