用ts做四则运算
2018-10-22 本文已影响0人
郑无穷大
打开vscode,创建test.ts,添加
#!/usr/bin/env ts-node
console.log(process.argv)
mac下需要添加执行权限
chmod +x ./.test.ts
应该会报错,会提示找不到process,因此需要安装以下,执行下面代码
初始化项目的 package.json
npm init -y
安装 node 相关的类型定义
npm install @types/node
再次运行 ./test.ts
./test.ts
[ 'node', '/Users/frank/TypeScript/tsdemo/2.ts' ]
第一个参数是当前运行程序,第二个参数是运行的文件,之后是用户输入的参数
打开 ./node_modules/@types/node/index.d.ts 搜索 Process 就能看到 process 的定义了:
export interface Process extends EventEmitter {
stdout: WriteStream;
stderr: WriteStream;
stdin: ReadStream;
openStdin(): Socket;
argv: string[];
argv0: string;
execArgv: string[];
execPath: string;
...
定义了字符串数组
下面是四则运算的代码
#!/usr/bin/env ts-node
let a: number = parseInt(process.argv[2])
let b: number = parseInt(process.argv[3])
if(Number.isNaN(a)|| Number.isNaN(b)){
console.log('出错')
return; // 有问题
process.exit(2)
}
console.log(a+b)
process.exit(0)
其中,想退出,return 这句话有问题,因为不能在顶级作用域运行 return,如果我们需要退出程序,只能使用 process.exit(N),其中的 N 是返回值。
成功则返回 0, 失败则返回非 0。
**其中使用es2015语法,也会报错,只需要添加配置文件即可,创建tsconfig.json
{
"compilerOptions": {
"lib": [ "es2015" ]
}
}
那么简单的四则运算就ok了。