Zoeken op website

javascript - Restify + TypeScript:


Ik heb een Node.js + Restify applicatie, geschreven in TypeScript. Ik probeer de Crypto-module te laden (https://nodejs.org/api/crypto.html):

import * as crypto from "crypto";

Wanneer ik het script compileer, krijg ik de volgende fout:

error TS2307: Cannot find module 'crypto'.

Wanneer ik JavaScript in plaats van TypeScript gebruik, werkt het prima:

var Crypto = require('crypto');

Andere modules die ik op dezelfde plaats laad, werken prima, bijvoorbeeld:

import * as bcrypt from "bcrypt";

Wat doe ik verkeerd?

Antwoord #1

Verwijder de crypto-afhankelijkheid, aangezien deze is verplaatst naar NodeJS... zonder die afhankelijkheid werkt de import prima voor mij in een njsproj-bestand in Visual Studio:

import * as crypto from 'crypto';

Als je meer algemene problemen hebt of je bevindt je in een IDE of projecttype dat Node niet begrijpt, controleer dan of je de typings als een ontwikkelafhankelijkheid hebt, bijvoorbeeld @types/node.

Antwoord #2

Ik had hetzelfde probleem, ik heb het opgelost met deze afhankelijkheden:

  "dependencies": {
    "bcrypt": "3.0.0",
    ...
  },
  "devDependencies": {
    "@types/bcrypt": "^2.0.0",
    "ts-node": "5.0.1",
    "typescript": "2.6.2",
     ...
  }

daarna kon ik de module importeren zonder fouten

import * as bcrypt from 'bcrypt';