我有一个用 TypeScript 编写的命令行应用程序,其中定义了一些 npm 脚本package.json。
"scripts": {
"start": "ts-node src/index.ts",
"start-args": "ts-node src/index.ts -- some args"
},
Run Code Online (Sandbox Code Playgroud)
我想链接 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"
}
Run Code Online (Sandbox Code Playgroud)
ts-node是本地安装的。
然而,由于 Node 本身并不支持 TypeScript,因此仅仅放置一个 shebang./src/index.ts是行不通的。
我还希望能够使用默认参数创建一个别名命令,如上所述bazqux。当我将包链接或安装为全局时,我可以全局运行“foobar”,就像在存储库中运行“npm run start”一样;或者全局运行“bazqux”,因为它是“npm run start-args”。
如何实现这一目标?