Angular – CLI
前言
一年半没有写 Angular 了. 现在又要开始写了. 复习过程中也顺便整理一下笔记呗.
介绍
CLI 是 Angular 的辅助工具. 输入一些 command 它会帮你 create 一些有结构的 files, 提升开发速度.
Global CLI 安装 & 升级
Global 安装 CLI
稳定版本
npm install -g @angular/cli
最新版本
npm install -g @angular/cli@next
指定版本
npm install -g @angular/cli@12.0.0
检查 version
ng version
升级 Global CLI
先删除, 然后安装新版本
npm remove @angular/cli -g
npm install -g @angular/cli
注: 这个只是升级 Global CLI 哦, 如何升级项目, 下面会讲到.
Help
不清楚有哪些 command 可以输入
ng help
它会显示所有的 command
还可以深入某个 command 的 help
ng new --help
太多资料, 这里就不展示了.
创建项目
创建简单项目
它会问你, 是否使用 routing 和 Scss style
files 结构
当前的 version 是 13, 使用 Yarn 但是没有 PnP. Github Issue: Yarn PnP Support Status
Angular 默认是开启 Unit Test 的, 如果不喜欢可以在创建项目的时候关掉它.
ng new my-angular-app --skip-tests --style=scss --routing
创建复杂项目
复杂项目指的是多个 app 和 library 在同一个项目里. 这个看个人管理啦. 类似 Visual Studio 一个 Solution 里面有很多 Project 的概念.
创建 solution
先创建 solution
ng new my-angular-solution --create-application=false
create-application=false 表示不要自动创建项目
里面只有 angular config, 没有任何项目信息.
创建项目
假设有 2 个项目要创建, 一个是 client-app, 一个是 admin-control-panel
cd my-angular-solution 进入 folder, 然后输入 command
ng generate application my-admin-control-panel --routing --style=scss --skip-tests
ng generate app my-client-app --routing --style=scss --skip-tests
Tips: 第 2 行用了 application 的缩写 app, Angular CLI 许多 command 都支持缩写, 所以可以尽量试试看, 比如 ng generate application 其实可以写成 ng g app
用的 command 是 ng generate app, 后面的参数和创建简单项目是一样的.
这时就多了 2 个 project folder 了, angular.json 也添加了一些 project 的 config.
创建 library
多个项目一定会有一些 shared code. 这时就可以创建一个 local library 来管理
ng generate library my-shared-lib
结构
这 3 个 项目虽然在同一个 solution 里, 但运行和发布都是分开的哦. 下面教你怎样运行起来.
Run a Project
for 简单项目, 运行 command
ng serve --open
open 是打开游览器的意思, 编译完它会自动开启游览器
这时就会看见美美的页面了
for 复杂项目, 需要选择其中一个 project, 而且它没有 --open 功能. 需要自己开 (我不知道为什么....)
ng serve --project=my-client-app
Use IP Address & Https
参考: Vs Code, Visual Studio 2022, Angular and Live Server Running Through Https and IP Address (Angular 的部分)
升级项目
先把 Global CLI 升级到最新, 然后 command
ng update
这时会显示能升级的 package
注: Angular 只支持一级一级升哦, 比如 v12 > 14 是不可以的, v12 > v13 > v14 就可以.
注: for 复杂项目, 一个 solution 里面所有的 project 都用统一版本会比较好管理. (我也不确定可以不可以不同 project 不同 version, 但最好不要. 太乱了)
接着输入升级 command
ng update @angular/cli @angular/core
后面是所有要升级的 package name, 用空格 seperate
创建 Module & Component
这个可能是最常用的 command 了. 在用 ng 的时候通常会有 3 给 pattern.
1. 创建 component to existing module
发生在想添加更多的 component 到一个 module 里时
2. 创建 component with new module
发生在一个想创建一个新组件, 同时它需要一个独立的 module 时
3. 创建 module with routing and component
发生在想创建一个 lazy load routing. (通常是一个新的 page)
创建 component to existing module
创建一个 component 到 app module 里.
到 app module 的 folder 开启 command box
运行 command
ng generate component first
ng g c first // 缩写
first 是 component 名字
CLI 会创建 folder 和 files
同时会到 AppModule 里添加 component 的 declaration
除了到指定的 folder 创建, 还有一个方式是在 command 中提供 component path 和 module name.
ng generate component client-app/src/app/first --module=app
ng g c client-app/src/app/first --m app // 缩写
path 就依据你的 command box 在哪里.
创建 component with new module
其实它没有一起创建的方式, 只能先创建 module
ng generate module second;
ng generate component second --module=second; ng g m second; ng g c second --m second; // 缩写
效果
创建 module with routing and component
Angular 有特别 command 专门给这个场景的哦
ng generate module third --route=third --module=app
ng g m third --route third --m app // 缩写
route 是 path
效果
Build as development for debug
Angular 有一个 compile 过程, 这就导致有时候很难理解, 总觉得它背地里是不是搞了一些鬼东西.
比较好的做法就是开一个测试环境, 然后 build 一个 development 的版本 (production 都做了压缩什么的, 已经没法看了), 看看最终运行的代码, 再去对照源码, 这样就可以解开一些古里古怪的现象.
参考: stackoverflow – Build in dev mode for Angular 12
在 angular.json 里面有区分 build development 和 production 的 config
运行 command 时可以选择使用的 config, 默认是 production
ng build --configuration development
还有一种方式是
env NG_BUILD_MANGLE=false NG_BUILD_MINIFY=false NG_BUILD_BEAUTIFY=true ng build --prod
不过在 Windows 下无法使用 env, 我懒得取研究了, 留一个链接在这, 以后才看
Angular – CLI的更多相关文章
- Angular环境准备和Angular cli
Angular4.0来了,更小,更快,改动少 接下来为Angular4.0准备环境和学会使用Angular cli项目 1.环境准备: 1)在开始工作之前我们必须设置好开发环境 如果你的机器上还没有安 ...
- 迈向angularjs2系列(8):angular cli和angular2种子项目
文章目录 1.angular cli快速搭建项目 2.angular2-seed 3.手动配置 题外话:如何更好的阅读本篇文章 一: angular cli的安装 Angular-cli(命令行界面, ...
- Visual Studio Code作为Angular开发工具常用插件安装、json-server安装与使用、angular/cli安装失败问题
前提准备: 搭建好Angular开发环境 1 安装Visual Studio Code 教程简单,不会的去问度娘 2 安装Chrome浏览器 教程简单,不会的趣闻度娘 3 Visual Studio ...
- angular4.0 安装最新版本的nodejs、npm、@angular/cli的方法
在使用ng项目的ui框架时,比如ng-zorro.angular Material,需要安装最新版本的@angular/cli: 配置ng-zorro框架 ng-zorro官网:https://ng. ...
- 使用Angular CLI生成 Angular 5项目
如果您正在使用angular, 但是没有好好利用angular cli的话, 那么可以看看本文. Angular CLI 官网: https://github.com/angular/angular- ...
- Angular4---起步----环境配置安装@angular/cli
学习angular,首先要搭建起angular的手脚架@angular/cli.首先需要NodeJS环境. 1.安装NodeJS 首先检查电脑是否安装了NodeJS环境,打开cmd命令行,运行node ...
- 使用Angular CLI进行单元测试和E2E测试
第一篇文章是: "使用angular cli生成angular5项目" : http://www.cnblogs.com/cgzl/p/8594571.html 第二篇文章是: & ...
- 使用Angular CLI从蓝本生成代码
第一篇文章是: "使用angular cli生成angular5项目" : http://www.cnblogs.com/cgzl/p/8594571.html 这篇文章主要是讲生 ...
- 使用Angular CLI生成路由
第一篇文章是: "使用angular cli生成angular5项目" : http://www.cnblogs.com/cgzl/p/8594571.html 第二篇文章是: & ...
- 使用Angular CLI进行Build (构建) 和 Serve
第一篇文章是: "使用angular cli生成angular5项目" : http://www.cnblogs.com/cgzl/p/8594571.html 第二篇文章是: & ...
随机推荐
- 国内版Unity 6 Preview编辑器无法切换到DX12的解决方案(6000.0.5f1c1已解决)
先放解决方案的链接:https://www.cnblogs.com/horeaper/p/18200364 6000.0.0f1c1问题依旧,仍然是没有D3D12文件夹: 不仅新文件不加,旧文件(ha ...
- Jenkins插件管理(Manager Plugins)【快速提升项目构建和部署实施的工作效率】
Jenkins 是一个很棒的开源自动化平台.它有一些开箱即用的强大功能.然而,在我看来,让它脱颖而出的是它的社区和它开发的插件.有超过一千个插件可用于支持几乎所有用于构建.部署和自动化项目的技术.工具 ...
- 用户数据报协议UDP
UDP的首部格式如下: (1) 源端口,源端口号.在需要对方回信时选用.不需要时可用全0. ⑵目的端口,目的端口号.这在终点交付报文时必须使用. ⑶长度,UDP用户数据报的长度,其最小值是8(仅有首部 ...
- 调试 Node.js
调试 Node.js 调试器 调试器是一种软件工具,用于通过分析方法观察和控制程序的执行流 设计目标:帮助找出 bug 的根本原因,并帮助你解决它 工作方式:将程序托管在自己的执行进程中或者作为附加到 ...
- Python 按规则解析并替换字符串中的变量及函数
按规则解析并替换字符串中的变量及函数 需求 1.按照一定规则解析字符串中的函数.变量表达式,并替换这些表达式.这些函数表达式可能包含其它函数表达式,即支持函数嵌套 2.函数表达式格式:${ __函数名 ...
- Django 文件导入实现方案
Django文件导入实现方案 by:授客 QQ:1033553122 开发环境 Win 10 Python 3.5.4 Django-2.0.13.tar.gz 官方下载地址: https ...
- MySQL 纵表转横表查询实现
纵表转横表查询实现 By:授客 QQ:1033553122 欢迎加入全国软件测试交流群:7156436 实践环境 MySQL 5.7 创建测试表 CREATE TABLE tb_test ( id I ...
- 计算机二级考试 C语言篇
本篇仅适用于计算机二级考试C语言篇 首先介绍一下二级考试时间问题(以本人考试2022年为例): 一. 2022年全国计算机二级考试时间 2022年全国计算机考试举办4次,(3月.5月.9月.12月 ...
- Nuxt.js 路由管理:useRouter 方法与路由中间件应用
title: Nuxt.js 路由管理:useRouter 方法与路由中间件应用 date: 2024/7/28 updated: 2024/7/28 author: cmdragon excerpt ...
- 【Half-Life】 Steam 安装半条命模组
安装办法参考自B站UP主[百科全叔]的文章 https://www.bilibili.com/read/cv543926 半条命模组在ModDB站上下载资源 https://www.moddb.com ...