gpt4 book ai didi

angular - Angular 2的转译过程

转载 作者:太空狗 更新时间:2023-10-29 17:47:58 26 4
gpt4 key购买 nike

因为我是 Angular 2 的新手,正在学习 .

我使用链接 https://www.tutorialspoint.com/typescript/typescript_environment_setup.htm 引用了 Angular 2 教程

在这里我了解到 typescript 正在被编译成 javascript。

在编写 Angular 2 应用程序代码时,我发现在 tsconfig.json 文件中如下所示:

{
"compileOnSave": false,
"compilerOptions": {
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}

这里 "target": "es5"规范表明 typescript 被转换为 es5 标准,即 ECMAScript2009 和 "lib": ["es2017", "dom"] 规范表明它使用 es2017 库。

谁能阐明 angular 2 的转译概念?

我们可以将“目标”:“es5”更改为 es6,即 ECMAScript2015 吗?

实际上 "lib": ["es2017", "dom"] 指定了什么?

最佳答案

谁能解释一下 angular 2 的转译概念?

转译代码与编译过程是一个类似的概念,但有一个很大的不同。

  • 编译:将高级语言的代码转换为机器级语言。

  • 转译:将来自高级语言的代码转换为另一种高级语言。

所以在 Angualr Transpile 中意味着你用 Typscript 编写的内容被转换为另一种高级语言,即 Javascript。这是因为所有现代浏览器都只能理解 Javascript。

我们可以将“目标”:“es5”更改为 es6,即 ECMAScript2015 吗?

实际上 "lib": ["es2017", "dom"] 指定了什么?

为此,您可以阅读 https://angular.io/guide/typescript-configuration ,是的,您可以将 es5 更改为 es6

更新一下:ES5 是当前的稳定版本,所以如果你设置目标 ES5,编译器将根据 ES5 版本生成 javascript 文件。如果将其更改为 ES6,它将根据 Es6 标准生成 javascript 文件;然而,并非所有浏览器都完全支持 ES6。

为了能够在您的 TS 源代码中使用 ES 标准库中的类,您应该使用 lib 选项并指定源代码中使用的所有标准 ES6 库接口(interface)。例如,要使用 ES6 和 DOM 中的 Reflect 对象或 Array.from,请配置以下内容:

{
"compilerOptions": {
"lib": ["es6", "dom"],
}
}

在这里阅读更多:https://blog.angularindepth.com/configuring-typescript-compiler-a84ed8f87e3

关于angular - Angular 2的转译过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47752815/

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