gpt4 book ai didi

angular - 什么是 typescript 转换

转载 作者:太空狗 更新时间:2023-10-29 17:20:48 24 4
gpt4 key购买 nike

刚看了angular 5官方博客的一篇文章(https://blog.angular.io/version-5-0-0-of-angular-now-available-37e414935ced)。有人谈论 typescript 转换。详细说明:

“TypeScript 转换在引擎盖下,Angular 编译器现在作为 TypeScript 转换运行,使增量重建速度显着加快。 TypeScript 转换是作为 TypeScript 2.3 的一部分引入的一项新功能,它允许我们连接到标准 TypeScript 编译管道。”

我想更好地理解它。转换或编译管道,什么是?谢谢!

最佳答案

这是指 typescript 编译器如何生成 Javascript 代码的内部机制。从 2.3 开始,编译器采用 Typescript AST(抽象语法树)并应用一系列转换(转换管道)。在管道的末端,您会得到一个新的 AST,它是一个 Javascript AST。

从源代码来看,这些是电流互感器:

Typescript Transformers

因此,例如,在编译启用了 jsxsystem 模块的 es5 目标时,将包括以下转换:

  • transformTypeScript - 将删除特定于 typescript 的注释

  • transformJsx - 将删除 jsx 语法并将其转换为 Javascript

  • transformESNext - 将 esnext 转换为 es2017

  • transformES2017 - 将 es2017 转换为 es2016

  • transformES2016 - 将 es2016 转换为 es2015

  • transformES2015 - 将 es2015 转换为 es5(减去生成器)

  • transformGenerators - 将 es2015 生成器转换为 es5

  • transformSystemModule - 将添加模块特定的 js 代码。

应用所有转换后,将 AST 写入文件是一个微不足道的操作。

关于angular - 什么是 typescript 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47174062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com