Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

Node.js 现在默认启用 TypeScript 的“类型剥离”

Posted on 2025-01-20

编程_64.png

JavaScript 运行时 Node.js 可以执行 TypeScript(Microsoft 的静态类型 JavaScript 派生语言)。但现在它可以做得更好,Node.js 指导委员会的 Marco Ippolito 解释道:2024 年 8 月,Node.js 引入了一项新的实验性功能 Type Stripping,旨在解决 Node.js 生态系统中长期存在的挑战:运行 TypeScript无需配置。在 Node.js v23.6.0 中默认启用,此功能正在变得稳定。 TypeScript 已经达到了令人难以置信的受欢迎程度,并且是所有最新 Node.js 调查中最受欢迎的功能。与 CoffeeScript 或 Flow 等从未获得过类似吸引力的其他替代方案不同,TypeScript 已成为现代开发的基石。虽然 Node.js 通过加载器支持它已经有一段时间了,但它们严重依赖配置和用户库。这种依赖导致不同加载器之间的不一致,使得它们难以互换使用。由于这些不一致和所需的额外设置,开发人员的体验受到了影响…目标是使开发更快、更简单,消除配置开销,同时保持开发人员期望的灵活性…TypeScript 不仅仅是一种语言,它还依赖工具链来实现其功能。用于此目的的主要工具是 tsc,TypeScript 编译器 CLI…类型检查与 tsc 的实现紧密耦合,因为没有关于语言的类型系统应如何运行的正式规范。缺乏规范意味着 tsc 的行为实际上是 TypeScript 类型系统的定义。 tsc 不遵循语义版本控制,因此即使是微小的更新也可能会引入类型检查的更改,从而可能破坏现有代码。另一方面,转译是一个更稳定的过程。它涉及通过删除类型、转换某些语法结构以及可选地“降低”JavaScript 以允许现代语法在较旧的 JavaScript 引擎上执行来将 TypeScript 代码转换为 JavaScript。与类型检查不同,转译不太可能在 tsc 版本之间发生破坏性的改变。当我们只考虑使 TypeScript 代码可执行所需的最小转译,并排除 JavaScript 引擎中尚未提供但在 TypeScript…Node.js 中可用的新 JavaScript 功能的降级(在启用之前)时,重大更改的可能性会进一步降低默认情况下,引入了 –experimental-strip-types。此模式允许通过简单地剥离内联类型来运行 TypeScript 文件,而无需执行类型检查或任何其他代码转换。这种最小的技术称为类型剥离。通过排除类型检查和传统的转译(TypeScript 更不稳定的方面),Node.js 降低了不稳定的风险,并且基本上避免了跟踪次要 TypeScript 更新的需要。此外,该解决方案不需要任何配置来执行代码… Node.js 通过用空格替换删除的语法来消除对源映射的需要,确保代码和结构的原始位置保持不变。它是透明的——运行的代码是作者编写的代码,减去类型…“随着这个实验性功能的发展,Node.js 团队将继续与 TypeScript 团队和社区合作,以改进其行为并减少摩擦.您可以查看路线图以了解实际的后续步骤……”

twitter_icon_large.png facebook_icon_large.png

在 Slashdot 上阅读这个故事的更多内容。

原文: https://developers.slashdot.org/story/25/01/19/0335202/nodejs-type-stripping-for-typescript-now-enabled-by-default?utm_source=rss1.0mainlinkanon&utm_medium=feed

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Anil Dash
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Big Technology
  • Bits about Money
  • Brandon Skerritt
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • eighty twenty
  • Elad Gil
  • Ellie Huxtable
  • Ethan Dalool
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • HeardThat Blog
  • Henrique Dias
  • Herman Martinus
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Li Haoyi
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Maggie Appleton
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mind Matters
  • Mostly metrics
  • Naval Ravikant
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Rohit Patel
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Steph Ango
  • Stephen Wolfram
  • Steve Blank
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • Wes Kao
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme