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';