我居然很难找到这个问题的答案。使用普通node .js,你可以运行任何节点路径为/to/file.js的js文件,使用CoffeeScript它是coffee hello。咖啡和ES6有babel节点hello.js。我如何用Typescript做同样的事情?

我的项目有一个tsconfig。Webpack/ts-loader使用它来为浏览器构建一个漂亮的小bundle。在此之前,我需要从控制台运行一个构建步骤,不过,这将使用项目中使用的一些.ts文件来生成模式,但我似乎无法在不编译整个项目的情况下运行单个Typescript文件。


当前回答

如果有人像我一样疯狂,想要像运行.js脚本一样运行typescript脚本,你可以试试这个。我编写了一个使用node执行.ts脚本的hack脚本。

#!/usr/bin/env bash

NODEPATH="$HOME/.nvm/versions/node/v8.11.3/bin" # set path to your node/tsc

export TSC="$NODEPATH/tsc"
export NODE="$NODEPATH/node"

TSCFILE=$1 # only parameter is the name of the ts file you created.

function show_usage() {
    echo "ts2node [ts file]"
    exit 0
}

if [ "$TSCFILE" == "" ]
then
    show_usage;
fi

JSFILE="$(echo $TSCFILE|cut -d"." -f 1).js"

$TSC $TSCFILE && $NODE $JSFILE

你可以这样做,也可以自己写,但本质上,它创建了.js文件,然后使用node运行它,如下所示:

# tsrun myscript.ts

简单。只要确保您的脚本只有一个“。”,否则您将需要以不同于我所展示的方式更改JSFILE。

其他回答

这个问题发布于2015年。2018年,node同时识别.js和.ts。运行节点文件。t也会运行。

对于像Webstorm这样的环境,node命令不能更改为ts-node或npx:

安装ts-node依赖项 需要ts-node/register src/foo。ts(在“节点参数”中添加——require ts- Node /register)

如果有人像我一样疯狂,想要像运行.js脚本一样运行typescript脚本,你可以试试这个。我编写了一个使用node执行.ts脚本的hack脚本。

#!/usr/bin/env bash

NODEPATH="$HOME/.nvm/versions/node/v8.11.3/bin" # set path to your node/tsc

export TSC="$NODEPATH/tsc"
export NODE="$NODEPATH/node"

TSCFILE=$1 # only parameter is the name of the ts file you created.

function show_usage() {
    echo "ts2node [ts file]"
    exit 0
}

if [ "$TSCFILE" == "" ]
then
    show_usage;
fi

JSFILE="$(echo $TSCFILE|cut -d"." -f 1).js"

$TSC $TSCFILE && $NODE $JSFILE

你可以这样做,也可以自己写,但本质上,它创建了.js文件,然后使用node运行它,如下所示:

# tsrun myscript.ts

简单。只要确保您的脚本只有一个“。”,否则您将需要以不同于我所展示的方式更改JSFILE。

只是一些有用的信息——这里是最新的TypeScript / JavaScript运行时Deno。

它是由节点的创造者瑞恩·达尔创造的,基于如果他可以重新开始,他会做不同的事情。

对于linux / mac,您可以添加ts-node-script shebang。

全局安装typescript / ts-node(非全局安装参见下面1):

npm install ts-node typescript --save-dev --global

在.ts文件中添加第一行:

#!/usr/bin/env ts-node-script

然后使文件可执行:

$ chmod +x ./your-file.ts

然后你可以直接从命令行运行文件:

$ ./your-file.ts

注:

对于非全局安装,您可以在项目中进行本地安装

npm install ts-node typescript --save-dev

并添加相对路径到shebang脚本,例如:

#!/usr/bin/env ./node_modules/.bin/ts-node-script

2在ts-node v8.9.0中正式增加了对shebangs的支持。