是否可以在package.json bin中使用本地安装的ts-node?

时间:2019-01-10 15:56:56

标签: typescript ts-node

如何使用全局软件包安装通过ts-node运行ts文件? 例如,我有要发布的打字稿应用程序,并将其用作全局包。

在package.json文件中,有一个bin属性,我们可以在其中指定可执行文件的命令,安装后该命令将设置为PATH变量。

对于.js文件,没有问题。 您只需要在bin中指定所需的文件即可。

jsfile

安装后,将显示脚本,这些脚本使用我们在bin中指定的命令启动我们的应用程序。显然,从屏幕截图来看,node.exe使用了我们的js。文件作为参数

jsresult

但是如何用ts做同样的事情。圆角? 我可以使用安装在本地node_modules中的ts-node运行ts文件

tsrun

但是我不能使用bin属性来做到这一点。 下面的屏幕截图导致错误。

error

需要链接到可执行文件。但是ts本身。没有ts-node无法执行。

是否可以在bin中指定ts。文件需要通过ts-node?还是在没有全局安装ts-node的情况下解决此问题?

1 个答案:

答案 0 :(得分:2)

您可能必须拥有一个包含以下内容的js条目文件:

#! /usr/bin/env node

require('ts-node').register();
require('./index.ts');