ale*_*ete 2 node.js typescript angular
我正在用 Angular 6 编写一个网络。我需要在客户端散列一个字符串,所以我正在使用来自 'crypto' 的 createHash("sha256")。
实际上,我只是写了 createHash 和 vscode 建议我导入,它看起来像这样:
import { createHash } from "crypto";
Run Code Online (Sandbox Code Playgroud)
(这种导入方式似乎很好,它在一些打字稿教程中使用,这里)然后:
var hashed = createHash("sha256").update(data).digest()
Run Code Online (Sandbox Code Playgroud)
vscode 建议使用所有语法,包括文档字符串和所有内容。但是在编译时npm start
我得到:
ERROR in src/domain/User.ts(2,28): error TS2307: Cannot find module 'crypto'.
Run Code Online (Sandbox Code Playgroud)
据我所知,crypto
现在已内置到节点中,导入它应该没有任何问题。
还请注意,如果我node
在终端中运行以打开 REPL,输入 'crypto' 会给我一个输出,表明一切正常。
以下是我认为关心的所有版本:
node --version: v10.15.1
ng --version:
Angular CLI: 6.2.9
Node: 10.15.1
OS: linux x64
Angular: 6.1.10
typescript 2.9.2
webpack 4.16.4
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
对于 Typescript 2.* 和 Angular 2+ -
安装此包并将其添加到 devDependencies。
npm install @types/node --save-dev
Run Code Online (Sandbox Code Playgroud)
在compilerOptions下的tsconfig.app.json中,添加这个 -
"types": [ "node" ],
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5929 次 |
最近记录: |