一、Overview

angular 入坑记录的笔记第一篇,完成开发环境的搭建,以及如何通过 angular cli 来创建第一个 angular 应用。入坑一个多星期,通过学习官方文档以及手摸手的按教程敲官方的快速上手项目,很像后端,嗯,完美的契合了我这种后端开发人员。

对应官方文档地址:

配套代码地址:angular-practice/src/getting-started

二、Contents

  1. Angular 从入坑到弃坑 - Angular 使用入门

三、Knowledge Graph

四、Step by Step

4.1、通过 Angular CLI 创建第一个 Angular 应用

4.1.1、开发环境搭建

前提条件

  • node.js 版本高于 10.9.0
  • 包含 npm 客户端
## 查看 node 版本
node -v ## 查看 npm 版本
npm -v

全局安装 Angular CLI

## 在电脑上以全局安装的方式安装 angular cli
npm install -g @angular/cli

验证是否安装成功

## 查看 angular cli 版本
ng v ## 查看 angular cli 中的各种命令解释
ng help

4.1.2、运行第一个 Angular 应用

通过 Angular CLI 命令来创建一个新的应用

## 指定位置,创建新的 angular 应用
ng new my-app

常用命令参数

options 解释
--force 强制覆盖现有文件
--skipInstall 创建项目时跳过 npm install 命令
--strict 在代码中使用更严格的 typescript 编译选项

运行项目

## 运行项目
ng serve

常用命令参数

options 解释
--open / -o 是否直接打开浏览器
--port 指定程序运行的端口

4.2、项目结构、文件功能了解

  • e2e - 端到端测试文件

    • src - 单元测试源代码路径

      • app.e2e-spec.ts - 针对当前应用的端到端单元测试文件
      • app.po.ts - 单元测试源文件
    • protractor.conf.js - protractor 测试工具配置文件

    • tsconfig.json - 继承于工作空间根目录的 typescript 配置文件

  • src - 工作空间 1 最外层根项目的源代码路径

    • app - 系统所提供的各种功能

      • app-routing.module.ts - 项目的路由模块,用来定义项目的前端路由信息
      • app.component.html - 项目的根组件所关联的 HTML 页面
      • app.component.scss - 项目的根组件 HTML 页面的样式信息
      • app.component.spec.ts - 项目的根组件单元测试文件
      • app.component.ts - 项目的根组件逻辑
      • app.module.ts - 应用的根模块
    • assets - 系统需要使用的静态资源文件

    • environments - 针对不同环境的构建配置选项

    • favicon.ico - 网站图标

    • index.html - 应用的主页面

    • main.ts - 应用的入口程序

    • polyfills.ts - 针对不同浏览器对于原生 API 的支持程度不相同的情况,用来抹平不同浏览器之间的支持差异 2

    • styles.scss - 项目的全局样式文件

    • test.ts - 单元测试的主入口程序

  • .editorconfig - 针对不同代码编辑器间的代码风格规范

  • .gitignore - git 忽略的文件

  • angular.json - 应用于当前工作空间的一些默认配置以及供 angular cli 和开发工具使用的配置信息

  • browserslist - 项目所针对的目标浏览器 3

  • karma.conf.js - 基于 node.js 的 javascript 测试执行过程管理工具

  • package-lock.json - 针对当前工作空间使用到 npm 包,安装到 node_modules 时的版本信息

  • package.json - 当前工作空间中所有项目会使用到的 npm 包依赖

  • README.md - 当前工作空间最外层根应用的简介文件

  • tsconfig.app.json - 当前工作空间最外层根应用的专属 typescript 配置文件

  • tsconfig.json - 当前工作空间中各个项目的基础 typescript 配置文件

  • tsconfig.spec.json - 当前工作空间最外层根应用的专属 tslint 配置文件

  • tslint.json - 当前工作空间中各个项目的基础 tslint 配置文件


1 工作空间类似于 .NET 项目中的解决方案,在一个工作空间内可以创建多个的项目
2 现代浏览器支持的某些原生 API,当用户使用老版本的浏览器或某些浏览器时并不支持,只要使用了 polyfills 这个库, 即可对于这些无法使用的浏览器添加支持,使用方法也无需更改(PS:针对的是原生的 API)
3 还是因为不同浏览器支持的特性不同,或者是 css 样式前缀不同,通过 browserslist 来告诉项目中的各种前端工具,完成自动配置的过程

Angular 从入坑到挖坑 - Angular 使用入门的更多相关文章

  1. Angular 从入坑到挖坑 - 组件食用指南

    一.Overview angular 入坑记录的笔记第二篇,介绍组件中的相关概念,以及如何在 angular 中通过使用组件来完成系统功能的实现 对应官方文档地址: 显示数据 模板语法 用户输入 组件 ...

  2. Angular 从入坑到挖坑 - 表单控件概览

    一.Overview angular 入坑记录的笔记第三篇,介绍 angular 中表单控件的相关概念,了解如何在 angular 中创建一个表单,以及如何针对表单控件进行数据校验. 对应官方文档地址 ...

  3. Angular 从入坑到挖坑 - HTTP 请求概览

    一.Overview angular 入坑记录的笔记第四篇,介绍在 angular 中如何通过 HttpClient 类发起 http 请求,从而完成与后端的数据交互. 对应官方文档地址: Angul ...

  4. Angular 从入坑到挖坑 - Router 路由使用入门指北

    一.Overview Angular 入坑记录的笔记第五篇,因为一直在加班的缘故拖了有一个多月,主要是介绍在 Angular 中如何配置路由,完成重定向以及参数传递.至于路由守卫.路由懒加载等&quo ...

  5. Angular 从入坑到挖坑 - 路由守卫连连看

    一.Overview Angular 入坑记录的笔记第六篇,介绍 Angular 路由模块中关于路由守卫的相关知识点,了解常用到的路由守卫接口,知道如何通过实现路由守卫接口来实现特定的功能需求,以及实 ...

  6. Angular 从入坑到挖坑 - 模块简介

    一.Overview Angular 入坑记录的笔记第七篇,介绍 Angular 中的模块的相关概念,了解相关的使用场景,以及知晓如何通过特性模块来组织我们的 Angular 应用 对应官方文档地址: ...

  7. 【转】angular指令入坑

    独立作用域和函数参数 通过使用本地作用域属性,你可以传递一个外部的函数参数(如定义在控制器$scope中的函数)到指令.这些使用&就可以完成.下面是一个例子,定义一个叫做add的本地作用域属性 ...

  8. web前端入坑第五篇:秒懂Vuejs、Angular、React原理和前端发展历史

    秒懂Vuejs.Angular.React原理和前端发展历史 2017-04-07 小北哥哥 前端你别闹 今天来说说 "前端发展历史和框架" 「前端程序发展的历史」 「 不学自知, ...

  9. 【Angular专题】——(1)Angular,孤傲的变革者

    目录 一. 漫谈Angular 二. 如果你还在使用Angularjs 三. 我计划这样学习Angular技术栈 一. 漫谈Angular Angular,来自Google的前端SPA框架,与Reac ...

随机推荐

  1. 更换EMC VNX系列存储故障硬盘的检查步骤

    更换EMC VNX系列存储故障硬盘的检查步骤 VNX1代(VNX5300,VNX5500,VNX5700,VNX7500和VNX2代(VNX5400,5600,5800和VNX7600,8000)有区 ...

  2. Angular.的简单运用

    从script引用angular文件.开始编写angular事件: 在angular文件中添加属性: ag-xxxx;初始化使用: ng-app="name"; 没有这个属性就不会 ...

  3. 【一起学源码-微服务】Eureka+Ribbon+Feign阶段性总结

    前言 想说的话 这里已经梳理完Eureka.Ribbon.Feign三大组件的基本原理了,今天做一个总结,里面会有一个比较详细的调用关系流程图. 说明 原创不易,如若转载 请标明来源! 博客地址:一枝 ...

  4. MQ使用:apollo和rabbitmq

    apollo apollo 是一个更快.更可靠.更容易维护的消息代理,它是由最初的ActiveMQ的基础构建的.它使用一个完全不同的线程和消息调度架构来实现这一点.与ActiveMQ一样,apollo ...

  5. cogs 3008. 朋友圈

    3008. 朋友圈 ★★   输入文件:friendscircle.in   输出文件:friendscircle.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] NO ...

  6. 【LC_Overview1_5】---学会总结回顾

    刷LeetCode题目一周,主要采用C++和Python编程手段,截至目前做了5道简单的leetcode题目,做下阶段性的小结: 小结主要通过手撕代码,复习加回顾,尽量避免自己眼高手低的情况发生,对于 ...

  7. 字符串 hash - 不停地删掉字母

    Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text p . Her j ...

  8. Webpack实战(六):如何优雅地运用样式CSS预处理

    上一篇文章中,我主要分享了<Webpack如何分离样式文件>CSS 预处理器是一个能让你通过预处理器自己独有的语法来生成CSS的程序,css预处理指的是在开发中我们经常会使用一些样式预编译 ...

  9. EditPlus 添加 打开文件所在文件夹 功能

    添加自定义工具: Tools -> Configure User Tools... -> Add Tool >> Menu Text: 打开所在的文件夹 Command: ex ...

  10. Centos 7中安装svn服务器,史上最详细

    最近上头安排了帮客户安装svn服务器,用了两种方式安装,yum命令安装,快速简洁容易上手,但是源码安装就比较繁琐,两种方式都试了一下,yum命令基本一个多小时就安装完了,但是源码安装弄了我两天的时间, ...