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

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


当前回答

全局安装ts-node节点模块。 创建节点运行时配置(IDE)或在命令行中使用node在文件js文件下运行(该路径适用于windows,但也可以适用于linux) ~ \ AppData \漫游\ npm \ node_modules \ ts-node \ dist \ bin.js 将ts文件路径作为命令行参数。 按您的喜好运行或调试。

其他回答

为了补充上面的@Aamod答案,如果你想使用一个命令行来编译和运行你的代码,你可以使用以下命令行:

窗口:

tsc main.ts | node main.js

Linux / macOS:

tsc main.ts && node main.js

运行以下命令并全局安装所需的软件包:

npm install -g ts-node typescript '@types/node'

现在运行以下命令来执行typescript文件:

ts-node typescript-file.ts

你也可以试试tsx。 tsx是一个CLI命令(node的替代品),用于无缝运行TypeScript,它基于esbuild构建,因此非常快。

https://github.com/esbuild-kit/tsx

例子:

npx tsx ./script.ts

我创建了@digitak/esrun,一个精简的esbuild包装器,几乎可以立即执行TypeScript文件。制作esrun是因为我对ts-node很失望:太慢了,而且大多数时间都不能工作。

esrun相对于ts-node的优势包括:

非常快(使用esbuild), 可以导入ESM和CJS(只要使用你选择的库,esrun就可以开箱即用), 其中包含了一个监视模式,使用——watch选项运行脚本,对输入文件或其依赖项的任何更改都将重新触发结果 你可以在inspect模式下使用esrun来使用DevTools控制台而不是终端控制台。

安装完成后,只需运行:

npx @digitak/esrun file.ts

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

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

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

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