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

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


当前回答

我们也可以使用nodemon运行它

nodemon ./filepath/filename.ts

其他回答

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

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

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

我们有以下步骤:

首先,您需要安装typescript NPM install -g typescript 创建一个文件helloworld.ts 函数hello(人){ 返回“Hello,”+ person; } let user = "Aamod Tiwari"; Const result = hello(用户); console.log(“结果”,结果) 打开命令提示符并键入以下命令 tsc helloworld.ts 再次运行命令 节点helloworld.js 结果将显示在控制台

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

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

就像Zeeshan Ahmad的回答一样,我也认为ts节点是可行的。我还会添加一个shebang并使其可执行,因此您可以直接运行它。

全局安装typescript和ts-node: NPM install -g ts-node typescript 或 Yarn全局添加ts-node typescript 创建一个文件hello,内容如下: #!/usr/bin/env ts-node-script 从' OS '导入*为OS 函数hello(name: string) { 返回'Hello, ' + name } const user = os.userInfo().username console.log('结果:${你好(用户)}') 如您所见,第一行有ts节点的shebang 通过执行文件直接运行 美元。/你好 结果:Hello, root

一些注意事项:

正如Dan Dascalescu所指出的,这似乎不适用于ES模块。 请参阅本文讨论使用包链接创建命令行脚本的最佳方法,由Kaspar Etter提供。我已经相应地改进了shebang


更新2020-04-06:在评论中大量输入后进行了一些更改:更新shebang使用ts-node-script而不是ts-node,链接到ts-node中的问题。