百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

Node.js支持原生运行TypeScript——自动将TS代码转译为JS代码

xsobi 2024-12-27 17:28 15 浏览

Node.js 合并了为 TypeScript 添加实验性支持的 PR。

根据 PR 的描述,开发者只需在 Node.js 中配置实验性 flag
--experimental-strip-types就可以执行 TypeScript 文件

Node.js 会将 TypeScript 代码自动转译为 JavaScript 代码。在转译过程中,不会执行类型检查,类型会被丢弃 ——Node.js 团队称之为 "type stripping"(类型剥离)

类型剥离意味着删除所有types,并转换为 JavaScript 模块中的输入。

比如下面的 JavaScript 代码

Bash
const foo: string = "foo";

会转译为:

Bash
const foo = "foo";


此外,该实验性功能目前存在以下限制:

  • 无法对枚举、命名空间等类型进行转换
  • 没有为 .ts 文件添加 .js 扩展
  • 无法在 node_modules 中运行 TS

Node.js 团队介绍了提供该功能的动机:“让用户能够执行 TypeScript 文件对于推动生态系统向前发展至关重要。我们必须承认用户希望在不安装外部依赖项或加载程序的情况下运行node foo.ts。”

详细路线图查看:
https://github.com/nodejs/loaders/issues/217


Reference

https://github.com/nodejs/node/pull/53725

相关推荐

URL缩短器:详细说明

介绍URL缩短器是一种用于从非常长的URL创建短链接的服务。通常,短链接的大小是原始URL的三分之一甚至四分之一,这使得它们更易于键入,呈现或发布。单击短链接用户将自动重定向到原始URL。在线提供许...

Python 3中字节转换为字符串的方法

技术背景在Python3里,字节(...

白帽子分享之代码的艺术系列—第二篇

0x01前言现在的WEB程序基本都有对SQL注入的全局过滤,运维人员配置PHP环境是一般会开启魔术引号GPC,即magic_quotes_gpc=On的情况下,如果输入的数据有单引号(’)、双引号(...

一文带你看懂Golang最新特性

作者:腾讯PCG代码委员会经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。...

闲来无事,学学Mysql增、删,改,查

Mysql增、删,改,查1“增”——添加数据1.1为表中所有字段添加数据1.1.1INSERT语句中指定所有字段名...

“Rust真能防住C代码里的那些老问题吗?我们做了个实验验证”

...

铭说 | 一句话木马的多种变形方式

今天来和大家聊一聊,一句话木马...

php json_decode返回null

functionposturl($gateurl,$data){$headers=array("Content-type:application/x-www-form-url...

Oracle用decode函数或CASE-WHEN实现自定义排序

1问题对SQL排序,只要在orderby后面加字段就可以了,可以通过加desc或asc来选择降序或升序。但排序规则是默认的,数字、时间、字符串等都有自己默认的排序规则。有时候需要按自己的想法来排序...

oracle 函数decode用法

DECODE含义decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)这个是decode的表达式,具体的含义解释为:IF条件=值1THENRETURN(翻译值1)ELSIF...

别再用 System.currentTimeMillis了,试试 StopWatch吧,够优雅

大家好,我是二哥呀!昨天,一位球友问我能不能给他解释一下...

全局视角看技术-Java多线程演进史

作者:京东科技文涛全文较长共6468字,语言通俗易懂,是一篇具有大纲性质的关于多线程的梳理,作者从历史演进的角度讲了多线程相关知识体系,让你知其然知其所以然。前言2022年09月22日,JDK19发...

在C# WinForms中通过代码添加控件

...

C++程序员学习Zig指南(中篇)

1.复合数据类型结构体与方法的对比C++类:...

Java 线程的生命周期及各阶段状态

每个事物都有其生命周期,也就是事物从出生开始到最终消亡这中间的整个过程;在其整个生命周期的历程中,会有不同阶段,每个阶段对应着一种状态,比如:人的一生会经历从婴幼儿、青少年、青壮年、中老年到最终死亡,...