使用 TypeScript 版本 1.7.5。
我正在编写一个 nodeJS 程序,我想在其中读取用户传递的命令行参数(2 个整数)。在原始 JavaScript 中一切正常,但 TypeScript 出现了问题。
什么时候
进程.argv
在 TypeScript 文件中使用,当它被编译为 JavaScript 时编译器错误,因为它不识别“process”变量。
错误 TS2304:找不到名称“进程”
我曾尝试在文件顶部声明一个新的 var“process”,但这会覆盖本机变量并且它不再包含参数……
我想将所有代码都保留在 TypeScript 中,只在构建时编译为 JavaScript。此问题的最佳解决方法是什么?
原文由 Rohit Falor 发布,翻译遵循 CC BY-SA 4.0 许可协议
更新:2016 年 9 月
您需要确保 Node 的类型定义可用。执行此操作的方法取决于您使用的 TypeScript 版本。
打字稿 1
使用 类型 来安装定义。
请务必在您的
tsconfig.json
typings/index.d.ts
。要么将它包含在"files"
数组中:或者确保它从
"exclude"
数组中省略。打字稿 2
在 TypeScript 2 中,可以 通过 npm 在
@types
范围内安装定义。原始答案:2016 年 2 月
您必须确保可以使用适当的类型定义。为此使用 typings 包管理器。安装节点的定义如下:
现在,有几种方法可以确保编译器可以使用定义。首选方法是像这样 设置 tsconfig 文件:
或者,或者:
如果您不使用 tsconfig 文件,则可以在主条目文件的顶部使用引用,如下所示: