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