第一个 Angular 应用程序
node download
https://nodejs.org/zh-cn/
全局安装
npm install @angular/cli -g
指定版本
npm install @angular/cli@8.3.29 -g
angular-cli versions
https://www.npmjs.com/package/@angular/cli
检查安装版本
ng version
创建项目
ng new app-name
工程目录
┌─ e2e
├─ src
├─ angular.json
│ (Angular 应用程的配置文件)
│
├─ karma.conf.js
│ (karmar 单元测试配置文件)
│
├─ package.json
│ (npm包管理及项目命令配置文件)
│
├─ tsconfig.app.json
│ (TypeScript 配置文件, 在 angular.json 中 architect/build/options/tsConfig)
│
├─ tsconfig.json
│ (TypeScript 配置文件)
│
│ tsconfig.json 和 tsconfig.app.json 的区别:
│ 1. tsconfig.app.json 继承自 tsconfig.json
│ 2. tsconfig 中配置的是 TypeScript 的基本配置
│ - 保存时编译
│ - 指定ES版本等
│ - ···
│ 3. tsconfig.app 中配置的是和项目有关的
│ - files 指定一些ts文件
│ - include/exclude 包含/排除一些文件
│ - ···
│ (具体配置信息参见: https://www.tslang.cn/docs/handbook/tsconfig-json.html)
│
└─ tslint.json
(TypeScript 代码约束配置文件)
src 目录
┌─ app
│ (应用程序内容目录)
│
├─ assets
│ (静态资源目录, 在 angular.json 中 architect/build/options/assets)
│
├─ environments
│ (环境变量目录, 在 angular.json 中 architect/build/configurations)
│
│ 在不同环境编译时指定 configuration 可以编译成不同的配置文件, 例如:
│ - environments
│ - environment.prod.ts -- 正式
│ ————————————————————————————————
│ - angular.json/.../architect/build/configurations
│ "production": {
│ "fileReplacements": [
│ {
│ "replace": "src/environments/environment.ts",
│ with: "src/environments/environment.prod.ts"
│ }
│ ]
│ }
│ ————————————————————————————————
│ - package.json/scripts
│ "build-prod": "ng build --configuration=production"
│ ————————————————————————————————
│ - npm run build-prod
│
├─ index.html
│ (Angular 应用入口页面, 在 angular.json 中 architect/build/options/index)
│
├─ main.ts
│ (Angular 应用启动入口, 在 angular.json 中 architect/build/options/main)
│
├─ polyfills.ts
│ (腻子脚本, 兼容低版本浏览器, 在 angular.json 中 architect/build/options/polyfills)
│
├─ style.scss
│ (全局样式, 在 angular.json 中 architect/build/options/styles)
│
└─ test.ts
(单元测试, 在 angular.json 中 architect/test/options/main)
app 目录
┌─ app.module.ts
│ (根模块, 在 main.ts 中, platformBrowserDynamic().bootstrapModule(AppModule))
│ 在一个Angular应用中只能有一个根模块, 并且在 main.ts 中创建
│
├─ app.component.ts
│ (根组件, 在根模块中声明)
│
└─ app-routing.module.ts
(根路由, 在 app.module 中引入)
第一个 Angular 应用程序的更多相关文章
- Angular CLI 创建你的第一个 Angular 示例程序
第一步:安装 Angular CLI 你要使用 Angular CLI 来创建项目.创建应用和库代码,并执行多种开发任务,比如测试.打包和发布. 全局安装 Angular CLI. 要想使用 npm ...
- angular.js的ng-app 指令定义一个 AngularJS 应用程序。
<!DOCTYPE html> <html lang="en" ng-app> <head> <meta charset="UT ...
- AngularJS(17)-Angular小程序
现在可以开始创建您的第一个 AngularJS 应用程序,一个 AngularJS 单页 Web 应用. <!DOCTYPE html> <html lang="en&qu ...
- Angular学习笔记—创建一个angular项目
开始项目前,你需要先安装node和npm,然后执行npm install -g @angular/cli安装Angular CLI. 如何安装node.js和npm npm使用介绍 1.安装angul ...
- 手把手教你写一个RN小程序!
时间过得真快,眨眼已经快3年了! 1.我的第一个App 还记得我14年初写的第一个iOS小程序,当时是给别人写的一个单机的相册,也是我开发的第一个完整的app,虽然功能挺少,但是耐不住心中的激动啊,现 ...
- 用c-free 5写一个入门的程序
本文记录了在windows系统中使用C-FREE 5新建一个Hello HoverTree程序的步骤. 安装好C-Free 5之后,打开.新建一个工程: 附C-Free 5下载:http://hove ...
- 字符串混淆技术应用 设计一个字符串混淆程序 可混淆.NET程序集中的字符串
关于字符串的研究,目前已经有两篇. 原理篇:字符串混淆技术在.NET程序保护中的应用及如何解密被混淆的字符串 实践篇:字符串反混淆实战 Dotfuscator 4.9 字符串加密技术应对策略 今天来 ...
- 第一个C语言程序
从第一个C语言程序了解C语言 了解关键字 了解函数 注释 C语言的执行流程 标识符 C语言的学习重难点 从第一个C语言程序了解C语言 上图是一个在控制台上显示“Hello, World!”的C语言源代 ...
- 第六章第一个linux个程序:统计单词个数
第六章第一个linux个程序:统计单词个数 从本章就开始激动人心的时刻——实战,去慢慢揭开linux神秘的面纱.本章的实例是统计一片文章或者一段文字中的单词个数. 第 1 步:建立 Linu x 驱 ...
随机推荐
- 使用var和不使用var的区别(全局变量/局部变量)
https://blog.csdn.net/czh500/article/details/80429133
- hdu1251 hash或者字典树
题意: 统计难题 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量 ...
- Fidder抓包软件的使用
Fiddler是一款强大的Web调试工具,它能记录所有客户端和服务器的HTTP和HTTPS请求.Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据.当然Fiddler很屌,在 ...
- POJ3498最大流,枚举终点,企鹅,基础最大流
题意: 有一n个冰块,每个冰块上都有一些企鹅,所有的企鹅要跳到一个冰块上去,但是由于起跳是的后坐力原因导致每个冰块最多条mi次,最后问你所有的企鹅都跳到一个冰块上去的那块冰块可以是哪一块, ...
- 记一次 .NET 医院CIS系统 内存溢出分析
一:背景 1. 讲故事 前几天有位朋友加wx求助说他的程序最近总是出现内存溢出,很崩溃,如下图: 和这位朋友聊下来,发现他也是搞医疗的,哈哈,.NET 在医疗方面还是很有市场的,不过对于内存方面出的问 ...
- 冒泡排序——Python实现
冒泡排序Python实现 # -*- coding: utf-8 -*- # @Time : 2019/10/28 19:41 # @Author : yuzhou_1shu # @Email : y ...
- Day007 递归
递归 定义 A方法调A方法!就是自己调自己 作用 利用递归可以用简单的程序来解决一些复杂的问题.它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程 ...
- java.lang.NoSuchMethodError: org.springframework.util.Assert.state(ZLjava/util/function/Supplier;)V
更多精彩见微信公众号 at org.springframework.test.context.support.AbstractTestContextBootstrapper.buildMergedCo ...
- 三、jmeter常用的元件及组件
一.HTTP cookie Manager 用来储浏览器产生的用户信息,Stepping Thread Group 可用于模拟阶梯加压! 二.HTTP Cache Manager 缓存管理器(模拟浏览 ...
- StreamReader & StreamWriter
这节讲StreamReader & StreamWriter,这两个类用于操作字符或者字符串,它将流的操作封装在了底层,相对来说用法比较简单,但是它不支持Seek()方法. 先看一下代码: F ...