Angular 18+ 高级教程 – Angular Compiler (AKA ngc) Quick View
前言
在 Get Started 那一篇,我们提到过 Angular Compilation。这篇稍微给点具体画面,让大家感受一下。
但不会讲细节,对细节感兴趣的可以看这篇 Medium – How the Angular Compiler Works。
Run ngc manually
ng new test --skip-tests -s -t
yarn install
创建好项目后, 运行 command
npm run ngc -p tsconfig.json
or yarn run
yarn run ngc -p tsconfig.json
Folder & File
这时 Angular 会创建出 dist folder

里面就是 compile 好了的 .js file。Angular 会把 .ts、.html、.scss compile 成 .js。
打开 app.component.js 长这样

HTML 变成了一堆 JS 函数,从名字可以看出它们类似 document.createElement。
CSS 也变成了单纯的 string。
总结
Angular Compile 的主要作用是提升 DX (Developer Experience),类似 Scss 和 TS。
它会把 Decorator、Scss、TS、HTML 变成 JS,把 "声明式代码" 变成 "执行代码"。
目录
上一篇 Angular 18+ 高级教程 – Getting Started
下一篇 Angular 18+ 高级教程 – Dependency Injection 依赖注入
想查看目录,请移步 Angular 18+ 高级教程 – 目录
喜欢请点推荐,若发现教程内容以新版脱节请评论通知我。happy coding
Angular 18+ 高级教程 – Angular Compiler (AKA ngc) Quick View的更多相关文章
- Angular CLI 使用教程指南参考
Angular CLI 使用教程指南参考 Angular CLI 现在虽然可以正常使用但仍然处于测试阶段. Angular CLI 依赖 Node 4 和 NPM 3 或更高版本. 安装 要安装Ang ...
- angular.js高级程序设计书本开头配置环境出错,谁能给解答一下
server.jsvar connect=require('connect');serveStatic=require('serve-static');var app=connect();app.us ...
- NgRx/Store 4 + Angular 5使用教程
这篇文章将会示范如何使用NgRx/Store 4和Angular5.@ngrx/store是基于RxJS的状态管理库,其灵感来源于Redux.在NgRx中,状态是由一个包含action和reducer ...
- Siki_Unity_2-9_C#高级教程(未完)
Unity 2-9 C#高级教程 任务1:字符串和正则表达式任务1-1&1-2:字符串类string System.String类(string为别名) 注:string创建的字符串是不可变的 ...
- Pandas之:Pandas高级教程以铁达尼号真实数据为例
Pandas之:Pandas高级教程以铁达尼号真实数据为例 目录 简介 读写文件 DF的选择 选择列数据 选择行数据 同时选择行和列 使用plots作图 使用现有的列创建新的列 进行统计 DF重组 简 ...
- ios cocopods 安装使用及高级教程
CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的 ...
- 【读书笔记】.Net并行编程高级教程(二)-- 任务并行
前面一篇提到例子都是数据并行,但这并不是并行化的唯一形式,在.Net4之前,必须要创建多个线程或者线程池来利用多核技术.现在只需要使用新的Task实例就可以通过更简单的代码解决命令式任务并行问题. 1 ...
- 【读书笔记】.Net并行编程高级教程--Parallel
一直觉得自己对并发了解不够深入,特别是看了<代码整洁之道>觉得自己有必要好好学学并发编程,因为性能也是衡量代码整洁的一大标准.而且在<失控>这本书中也多次提到并发,不管是计算机 ...
- 分享25个新鲜出炉的 Photoshop 高级教程
网络上众多优秀的 Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径.今天,我向大家分享25个新鲜出炉的 Photoshop 高级教程,提高你的设计技巧,制作时尚的图片效果.这 ...
- 展讯NAND Flash高级教程【转】
转自:http://wenku.baidu.com/view/d236e6727fd5360cba1adb9e.html 展讯NAND Flash高级教程
随机推荐
- oeasy教您玩转vim - 71 - # 视图view
视图view 回忆上次折叠的细节 折叠方式很多 我们一般就用默认的就行 indent 很好用 前提是缩进语法严格到位 这样语法和排版都能同时确保 打开关闭 zc.zo 是打开关闭当前行 zm.zr ...
- Kubernetes 部署Dashboard UI
实践环境 CentOS-7-x86_64-DVD-1810 Docker 19.03.9 Kubernetes version: v1.20.5 发布Dashboard 可以通过运行以下命令部署Das ...
- java8interface的新特性:default,static,funcation
default:默认方法 在类接口中可以直接定义的方法,实现接口的类可以直接使用 使用案例: public interface MyInterface { default void display() ...
- 解决Sqoop导入导出MySQL数据错位问题
添加--columns "columns,columns,columns" \可以在hive导入mysql时防止数据错位:
- 【WPF】Command 的一些使用方案
Command,即命令,具体而言,指的是实现了 ICommand 接口的对象.此接口要求实现者包含这些成员: 1.CanExecute 方法:确定该命令是否可以执行,若可,返回 true:若不可,返回 ...
- PHP转Go系列 | Carbon 时间处理工具的使用姿势
大家好,我是码农先森. 在日常的开发过程中经常会遇到对时间的处理,比如将时间戳进行格式化.获取昨天或上周或上个月的时间.基于当前时间进行加减等场景的使用.在 PHP 语言中有一个针对时间处理的原生函数 ...
- 【Vue】分组类型排名查询功能
一.书接上回: https://www.cnblogs.com/mindzone/p/17749725.html 这个效果被否决了,产品要求一定要UI的来,UI效果如图: 按人为主体的时候,固定有4个 ...
- 【RabbitMQ】05 通配符模式
需要设定交换机模式为通配符模式 Topic 在绑定规则上采用通配描述实现动态绑定 创建通配符模式的生产者 package cn.dzz.topicQueue; import com.rabbitmq. ...
- A* 算法、PathFinding问题中的 allow diagonal 和 don't cross corners,以及 .map文件格式(续)
前文: A* 算法.PathFinding问题中的 allow diagonal 和 don't cross corners,以及 .map文件格式 上篇讲了些关于地图文件 .map 的介绍,本文主要 ...
- ubuntu:通过缺失的系统lib库文件查找所需要安装的package——根据lib文件查找所属的package包——命令:sudo apt-file search
参考: 使用apt-file,根据文件查找所需安装的软件包 ======================================= 使用 apt-file 命令可以通过lib文件名查找其所属的 ...