1.框架背景
Angular最显著的特征就是其整合性。涵盖M、V、C/VM等各个层面,不需要组合评估其它技术就能完成大部分前端开发任务。
Angular1从一个用来做原型的框架演化而来的,诞生时间很早,当时生态不完善,连模块化机制都得自己实现。
Angular2发布于2016年9月份,基于ES6来开发的,整合现代前端的各种先进理念,在框架、文档、工具等各个层面提供了全方位的支持
在Angular中最具特色的就是依赖注入系统了,它把后端开发中用来解决复杂问题、实现高弹性设计的技术引入了前端
2.Angular CLI
2.1 安装
npm install -g @angular/cli@13
ng new STAngular(项目名称)
cd STAngular
ng serve --open
2.2 主要特性
- Angular CLI 可以快速搭建框架,创建module,service,class,directive等;
- 具有webpack的功能,代码分割,按需加载;
- 代码打包压缩;
- 模块测试;
- 热部署,有改动立即重新编译,不用刷新浏览器;而且速度很快
- 有开发环境,测试环境,生产环境的配置,不用自己操心;
- sass,less的预编译Angular CLI都会自动识别后缀来编译;
- typescript的配置,Angular CLI在创建应用时都可以自己配置;
- 在创建好的工程也可以做一些个性化的配置,webpack的具体配置还不支持,未来可能会增加;
- Angular CLI创建的工程结构是最佳实践,生产可用;
2.3 创建module,component,service,class
| 脚手架 | 用法 |
|---|
| Component | ng g component |
| Directive | ng g Directive |
| Pipe | ng g pipe |
| Service | ng g service |
| Class | ng g class |
| Interface | ng g interface |
| Enum | ng g enum |
| Module | ng g module |
| 命令 | 别名 |
|---|
| ng add | |
| ng analytics | |
| ng build [project] | [aliases: b] |
| ng cache | |
| ng completion | |
| ng config [json-path] [value] | |
| ng deploy [project] | |
| ng doc | [aliases: d] |
| ng e2e [project] | [aliases: e] |
| ng extract-i18n [project] | |
| ng generate | [aliases: g] |
| ng lint [project] | |
| ng new [name] | [aliases: n] |
| ng run | |
| ng serve [project] | [aliases: s] |
| ng test [project] | [aliases: t] |
| ng update [packages…] | |
| ng version | [aliases: v] |