写 TypeScript 命令行工具
运行在命令行
在 .ts
文件的第一行添加这句可以在命令行运行 .ts
文件:
#!/usr/bin/env ts-no
运行以下会出错,原因出在第二行:
#!/usr/bin/env ts-node
console.log(process.argv);
解决办法:
npm i @types/node
成功与失败
在 node.js 中:
process.exit(0); // 表示成功
process.exit(1); // 0以及以上的数字表示失败
一个小问题
ts 中可以直接使用 isNaN()
、 parseInt()
等。
不能直接使用 Number.isNan()
因为语法比较新。
解决方法:
新建 tsconfig.json
:
{
"compilerOptions": {
"lib": ["es2015"]
}
}
重复声明变量或常量
同一个项目里的不同的 .ts
之间不能声明同一个变量或常量
解决办法:
把变量或常量 export
。
const a: number = parseInt(process.argv[2]);
const b: number = parseInt(process.argv[3]);
或者:
export { a, b };
可选参数
在 TypeScript 的函数中,在参数名后加上 ?
,这个参数就是可选参数,可以搭配 ||
使用。
function print(n?) {
n = n || "请输入";
console.log(n);
}