我有一个用TypeScript编写的命令行应用程序,其中有一些在package.json
中定义的npm脚本。
"scripts": {
"start": "ts-node src/index.ts",
"start-args": "ts-node src/index.ts -- some args"
},
我想链接和命名TypeScript文件,以便可以轻松地调用该程序,因此我正在寻找"bin"
文件中的package.json
键之类的东西。
"scripts": {
"start": "ts-node ./src/index.ts",
"start-args": "ts-node src/index.ts -- some args"
},
"bin": {
"foobar": "./src/index.ts",
"bazqux": "./src/index.ts some args"
}
[ts-node
已本地安装。
但是,由于TypeScript本身不受节点支持,因此仅在./src/index.ts
上放一个shebang将不起作用。
我还希望能够使用默认参数创建别名命令,例如上面的bazqux
。当我以全局方式链接或安装该软件包时,可以像在存储库中运行“ npm run start”一样全局运行“ foobar”。或全局运行“ bazqux”,因为它是“ npm run start-args”。
如何实现?
如果ts-node
在路径变量中,则可以使用
#!/usr/bin/env ts-node
console.log("Hello World");