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 应用程序的更多相关文章

  1. Angular CLI 创建你的第一个 Angular 示例程序

    第一步:安装 Angular CLI 你要使用 Angular CLI 来创建项目.创建应用和库代码,并执行多种开发任务,比如测试.打包和发布. 全局安装 Angular CLI. 要想使用 npm  ...

  2. angular.js的ng-app 指令定义一个 AngularJS 应用程序。

    <!DOCTYPE html> <html lang="en" ng-app> <head> <meta charset="UT ...

  3. AngularJS(17)-Angular小程序

    现在可以开始创建您的第一个 AngularJS 应用程序,一个 AngularJS 单页 Web 应用. <!DOCTYPE html> <html lang="en&qu ...

  4. Angular学习笔记—创建一个angular项目

    开始项目前,你需要先安装node和npm,然后执行npm install -g @angular/cli安装Angular CLI. 如何安装node.js和npm npm使用介绍 1.安装angul ...

  5. 手把手教你写一个RN小程序!

    时间过得真快,眨眼已经快3年了! 1.我的第一个App 还记得我14年初写的第一个iOS小程序,当时是给别人写的一个单机的相册,也是我开发的第一个完整的app,虽然功能挺少,但是耐不住心中的激动啊,现 ...

  6. 用c-free 5写一个入门的程序

    本文记录了在windows系统中使用C-FREE 5新建一个Hello HoverTree程序的步骤. 安装好C-Free 5之后,打开.新建一个工程: 附C-Free 5下载:http://hove ...

  7. 字符串混淆技术应用 设计一个字符串混淆程序 可混淆.NET程序集中的字符串

    关于字符串的研究,目前已经有两篇. 原理篇:字符串混淆技术在.NET程序保护中的应用及如何解密被混淆的字符串  实践篇:字符串反混淆实战 Dotfuscator 4.9 字符串加密技术应对策略 今天来 ...

  8. 第一个C语言程序

    从第一个C语言程序了解C语言 了解关键字 了解函数 注释 C语言的执行流程 标识符 C语言的学习重难点 从第一个C语言程序了解C语言 上图是一个在控制台上显示“Hello, World!”的C语言源代 ...

  9. 第六章第一个linux个程序:统计单词个数

    第六章第一个linux个程序:统计单词个数 从本章就开始激动人心的时刻——实战,去慢慢揭开linux神秘的面纱.本章的实例是统计一片文章或者一段文字中的单词个数.  第 1 步:建立 Linu x 驱 ...

随机推荐

  1. 789. Escape The Ghosts

    You are playing a simplified Pacman game. You start at the point (0, 0), and your destination is (ta ...

  2. css3动画大全

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 【Idea】实用插件列表

    1.Translation : 翻译 2.CodeGlance:代码预览 3.Lombok:优雅编程插件 4.GenerateSerialVersionUID :自动生成序列化ID 5.CamelCa ...

  4. 路由器逆向分析------MIPS系统网络的配置(QEMU)

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/69378333 MIPS系统网络的配置  使用QEMU 模拟正在运行的MIPS系统并 ...

  5. PAT 乙级 -- 1005 -- 继续(3n+1)猜想

    题目简述 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂.        当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如 ...

  6. hdu5007 小水题

    题意:       给你一个串,如果出现子串 "Apple", "iPhone", "iPod", "iPad"输出MA ...

  7. ZOJ3715 竞选班长求最小花费

    题意:       有n个小朋友竞选班长,一号想当班长,每个人都必须选择一个人当班长,并且不可以选择自己,并且每个人都有一个权值ai,这个权值就是如果1想让这个人改变主意选择自己当班长就得给他ai个糖 ...

  8. Windows Pe 第三章 PE头文件-EX-相关编程-1(PE头内容获取)

    获取pE头相关的内容,就是类似如下内容 原理:比较简单,直接读取PE到内存,然后直接强转就行了. #include <windows.h> #include <stdio.h> ...

  9. PHP使用引用实现无限极分类

    PHP实现无限极分类 引用 <?php /** * 无限极分类实现 * @param $list array 需要处理的数组 * @param $pk string 主id * @param $ ...

  10. 微信小程序中的常见弹框

    显示加载中的提示框 wx.showLoading() 当我们正在在进行网络请求时,常常就需要这个提示框 手动调用wx.hideLoading()方法才能够关闭这个提示框,通常在数据请求完毕时就应该关闭 ...