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

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


当前回答

截至2022年5月,ts-node已支持es模块

npx ts-node --esm file.ts

你可能需要在package.json中添加"type": "module"。有些导入可能不可靠,除非打开experimental- specification -resolution=node

npmjs.com/package/ts-node # commonjs-vs-native-ecmascript-modules

其他回答

我们也可以使用nodemon运行它

nodemon ./filepath/filename.ts

还有一个选项可以直接从CLI运行代码,而不是*。Ts文件本身。

在ts-node手册中有完美的描述。

作为第一步,通过npm、yarn或任何你喜欢的方式全局安装ts-node。 ...现在只需使用ts-node -e 'console.log("Hello, world!")'(你也可以添加-p标志来打印代码)

这个小命令是完美的检查,一切安装良好。以及查找其他与tsconfig相关的错误。json选项。

下面是命令

tsc指数。ts——outDir .temp && node .temp/index.js && rm -rf .temp <<<<<<<<< 编译 >>>>>>>>> <<<<<<< 运行 >>>>>>> << 清洁> >

如果有人像我一样疯狂,想要像运行.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 NPM install -g typescript 创建一个文件helloworld.ts 函数hello(人){ 返回“Hello,”+ person; } let user = "Aamod Tiwari"; Const result = hello(用户); console.log(“结果”,结果) 打开命令提示符并键入以下命令 tsc helloworld.ts 再次运行命令 节点helloworld.js 结果将显示在控制台