Roh*_*lor 39 javascript command-line-arguments node.js typescript
使用TypeScript版本1.7.5.
我正在编写一个nodeJS程序,我想在其中读取用户传递的命令行参数(2个整数).在原始JavaScript中一切正常,但TypeScript会出现问题.
什么时候
process.argv用于TypeScript文件,当它编译成JavaScript时编译器错误,因为它不识别"进程"变量.
error TS2304: Cannot find name 'process'
我已经尝试在文件顶部声明一个新的var"process",但是它会覆盖原生变量并且它不再包含参数......
我想将所有代码保存在TypeScript中,只在构建时编译为JavaScript.这个问题的最佳解决方法是什么?
McM*_*ath 49
您需要确保Node的类型定义可用.执行此操作的方法取决于您使用的TypeScript版本.
使用" 类型"安装定义.
typings install --save --global env~node
Run Code Online (Sandbox Code Playgroud)
请务必包含typings/index.d.ts在您的tsconfig.json文件中.将它包含在"files"数组中:
"files": ["typings/index.d.ts"]
Run Code Online (Sandbox Code Playgroud)
或者确保从"exclude"数组中省略它.
npm install --save-dev @types/node
Run Code Online (Sandbox Code Playgroud)
您必须确保可以使用适当的类型定义.使用打字包管理器.按如下方式安装节点的定义:
typings install --save --ambient node
Run Code Online (Sandbox Code Playgroud)
现在,有几种方法可以确保编译器可以使用这些定义.首选方法是设置tsconfig文件,如下所示:
{
"exclude": [
"typings/browser.d.ts",
"typings/browser",
"node_modules"
]
}
Run Code Online (Sandbox Code Playgroud)
或者,或者:
{
"files": [
"typings/main.d.ts"
]
}
Run Code Online (Sandbox Code Playgroud)
如果您没有使用tsconfig文件,则可以使用主条目文件顶部的引用,如下所示:
/// <reference path="path/to/typings/main.d.ts" />
Run Code Online (Sandbox Code Playgroud)
Hon*_*fus 10
在查找"无法找到名称'流程'时,此问题位于Google搜索结果的首位,因此我将在此处添加2美分给一个不太相关的问题.
如果你需要在使用if(process.env.NODE_ENV === "production")webpack去除生产中的某些代码时摆脱错误,只需在行之前添加以下声明:
declare var process: {
env: {
NODE_ENV: string
}
};
Run Code Online (Sandbox Code Playgroud)
小智 9
TypeScript 2 - Windows用户
由于这个问题在谷歌的顶部是"ts2304无法找到名称'过程'"我想为Windows用户添加一些帮助.我试图从配置文件中使用环境变量,并且遇到了这个错误.
TSError:无法编译TypeScript.
找不到名称'process'-(2304)
我终于将它添加到我的tsconfig.json:
{
"compilerOptions": {
"typeRoots": [
"./node_modules/@types"
]
}
}
Run Code Online (Sandbox Code Playgroud)
这与tsconfig.json和node_modules在同一目录级别,但由于某种原因,编译器只是没有看到它.奇怪的是这个错误只发生在process.env变量上,因为我的其余代码编译没有问题.
小智 5
我在OSX上的完整解决方案将上面的一些内容结合在一起。error TS2304: Cannot find name 'process'.我的用例是将React项目从jsx / js部分迁移到tsx / ts。
yarn add -D @types/nodetsconfig.json为包括"typeRoots": ["./node_modules/@types"]import { } from 'node';在文件的顶部有错误使用Typescript v2.7.1时,我需要全部3个步骤
| 归档时间: |
|
| 查看次数: |
22326 次 |
| 最近记录: |