利用angular-cli的常见命令:

  npm i --save 包名   ->  软件依赖
    npm i --save-dev 包名     ->  开发依赖
    ng new 项目名  ->  创建新项目
    ng build -prod  ->  生产环境编译
    ng serve  ->  启动开发服务器
    ng new 项目名 --skip-install  -> 不进行模块安装  ng new 项目名 -si
    ng new 项目名 -si --style=scss -> 执行样式风格
    ng g m 模块名
    ng g c 组件名 --spec=false   ->  创建一个没有测试文件的组件

准备前提:已经搭建好angular-cli环境,还未搭建好的请参见三少的博客(开发基础分类)

1 新建一个文件夹

  该文件夹用来存放所有利用angular-cli搭建的web前端项目

  

2 启动命令窗口,并进入该文件夹

  

3 创建新项目

  ng new 项目名称

    注意:项目名称最好全部用字母

  

  

  

  3.1 到文件夹中去查看项目是否成功创建

    

  

    

  

4 通过文本编辑器打开src文件夹下的index.xml文件

  三少使用sublime打开的效果如下

    

  4.1 代码详解

    

    这就是一个html文件

    我们的应用会在app-root标签处进行渲染,app-root元素中的Loading...是一个站位符,用来告知用户应用正在加载,也可以用文字或者动画来代替

5 运行应用

  5.1 打开命令窗口,并进入到项目根目录

    

  5.2 启动HTTP服务器

    angular-cli有一个内建的HTTP服务器,可以用它来启动我们的应用,启动的时间大概要花30秒左右

    ng server

      

        注意:利用 ctrl + c 来关闭服务

  5.3 通过浏览器访问应用

    http://localhost:4200/

      

6 制作第一个组件

  6.1 为什么要制作组件

    浏览器只能识别浏览器开发人员预先定义好的那些标签,如果我们想要浏览器识别一些新的标签,那么就需要我们制作一个组件来完成这个任务

    注意:组件化的基本思想就是教浏览器认识一些拥有自定义功能的新标签(组件就相当于angularJS中的指令),组件制作好后就可以在HTML文档中使用啦

  6.2 怎么创建一个组件

    利用angular-cli的generate命令来创建组件

      ng generate component 组件名称

      例如:创建一个<app-hello-world></app-hello-world>组件的命令是

          ng generate component hello-world

        

          注意:创建组件成功后在项目文件中的  src>app  目录下回多出一个以组件名称为名字的文件夹

            

7 组件创建完的后续步骤

  7.1 查看组件的定义:Component注解、组件定义类

    

      注意:组件是利用TypeScript语言编写的,所以后缀是以 .ts 结尾的;浏览器是不知道怎么解析TypeScript文件的,但是 ng server 这个命令会自动把ts文件转换成js文件

  7.2 组件定义代码详解

    7.2.1 导入依赖

      格式

        import {组件1,,组件2} from 模块名

      

        代码解释:从@angular/core模块中导入Component组件和OnInit组件

      import 语句定义了我们在编写代码是需要用到哪些模块中的哪些组件

    7.2.2 Component注解

      什么是注解:通过注解来给代码添加功能

      在类上使用@Component注解shi时,就会把相应的类装饰成一个Component

        例如

          

          代码解释

            将HelloWorldComponent类装饰成了一个组件

      @Component注解内容解释

        selector  指定该组件使用什么DOM元素

        templateUrl  添加模板的引用位置,当angular加载组件的时候就会读取指定模板中的内容作为组件的模板

          注意:可以使用template来直接添加模板代码,而不需要另外的模板文件

            例如

              

                注意:模板代码是放在反引号中的

        styleUrls  添加CSS样式文件的引用位置,当angular加载组件的时候就会读取指定文件中内容来作为组件的样式  

      例如

        

        代码解释

          该组件使用的DOM元素为<app-hello-world></app-hello-world>,即:在HTML中使用<app-hello-world></app-hello-world>标签后浏览器就可以识别啦;

          该组件的模板代码在同目录下的 hello-world.component.html 中

          该组件的CSS样式代码在同目录下的 hello-world.component.css 中

  7.3 加载组件

    我们需要将组件的标签添加到一个将要渲染的模板中去  

    将  <app-hello-world></app-hello-world>标签  添加到 src/app/app.component.html文件中去

        这样做是为了让组件渲染一个静态模板,从而观察到效果

    

    启动HTTP服务,然后刷新浏览器或的结果如下

      

  

    

    

  

Angular02 通过angular-cli来搭建web前端项目的更多相关文章

  1. Angular01 利用grunt搭建自动web前端开发环境、利用angular-cli搭建web前端项目

    搭建angular开发环境 一.下载并安装node 官网地址:点击前往 二.利用npm安装cnpm 安装好node后就可以使用npm命令啦 查看版本:npm -v 安装cnpm:npm install ...

  2. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  3. Github+yeoman+gulp-angular初始化搭建angularjs前端项目框架

    在上篇文章里面我们说到了Github账号的申请与配置 那么当你有了Github账号并创建了一个自己的Github项目之后,首要的当然是搭建自己的项目框架啦! 本人对自己的定位是web前端狗,常用开发框 ...

  4. 如何打造一个"逼格"的web前端项目

    最近利用空余的时间(坐公交车看教程视频),重新了解了前后端分离,前端工程化等概念学习,思考如何打造一个“逼格”的web前端项目. 前端准备篇 前端代码规范:制定前端开发代码规范文档. PS:重中之中, ...

  5. 论如何在服务器上部署一个自己的web前端项目

    就在前两天,有新人通过邮箱问到笔者,如何部署自己的web前端项目?笔者在此详细介绍. 一.购买云服务器 配置用户名密码.安全组 二.下载Xshell于Xftp工具 用于登录服务器和文件上传 三.在li ...

  6. angular开发环境搭建及新建项目

    最近一个星期准备学习一下angular前端框架,因为之前在学习abp框架的时候,都要求前端要掌握angular,所以不得不回来恶补一下了,学习的过程有时间的话会记录在这里,方便以后复习. 闲言少叙,下 ...

  7. [Vue 牛刀小试]:第十七章 - 优化 Vue CLI 3 构建的前端项目模板(1)- 基础项目模板介绍

    一.前言 在上一章中,我们开始通过 Vue CLI 去搭建属于自己的前端 Vue 项目模板,就像我们 .NET 程序员在使用 asp.net core 时一样,我们更多的会在框架基础上按照自己的开发习 ...

  8. vue-cli3 搭建的前端项目基础模板

    基于 vue-cli3 搭建的前端模板,fork 或 clone 本仓库,即可搭建完成一个新项目的基础模板,源码地址,欢迎 star 或 fork 特性 CSS 预编译语言:less Ajax: ax ...

  9. 如何实现vue-cli搭建的前端项目的自动打包

    实现vue-cli + webpack +vue项目的自动打包: 后台java代码: public class OpenDirectory { public static void main(Stri ...

随机推荐

  1. Subscription wildcards(MQTT)

    想查看英文原文的请点击原文网址.本文是paho中讲述订阅通配符的.还是那句话,水平有限,如有翻译不当之处,欢迎指正. 订阅通配符   MQTT信息包含一个主题来进行区分.MQTT服务器使用主题来确定哪 ...

  2. CET——4 常用短语

    在网上看到的,先拔到自己这来,四级大大,求过!!!!

  3. Java 伙伴系统(模拟)

    参考:https://labrick.cc/2015/10/12/buddy-system-algorithm/ 代码过烂 不宜参考. output: [operating.entity.Heap@4 ...

  4. python基础知识——字符串详解

    大多数人学习的第一门编程语言是C/C++,个人觉得C/C++也许是小白入门的最合适的语言,但是必须承认C/C++确实有的地方难以理解,初学者如果没有正确理解,就可能会在使用指针等变量时候变得越来越困惑 ...

  5. 使用Vue2完成“小红书” app

    小红书项目说明 整体页面格调.功能和原版 app 无限接近.具体页面细节可以下载 “小红书” app查看. 图片素材:https://pan.baidu.com/s/1qYOcx7e 整体要求: · ...

  6. bzoj 5016: [Snoi2017]一个简单的询问

    Description 给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出 get(l,r,x)表示计算区间[l,r]中,数字x出现了多少次. Input 第 ...

  7. C# 命名空间和程序集

    一.命名空间 1.通过使用using关键字引入命名空间,减少代码量 命名空间对相关的类型进行逻辑分组,通过命名空间能快速的定位到相关的类型,例如:在System.IO命名空间下,定义了所有I/O操作的 ...

  8. JQ trigger函数无法触发a标签的两种解决方法

    起因:点击icon图标后要触发a标签的链接转跳动作,但是用 JQ 的 $('#a').trigger('click') 居然不起作用,遂百度之,总结两种方法如下: (原因:JQ 的 trigger() ...

  9. Url Rewrite 再说Url 重写

    前几天看到园子里一篇关于 Url 重写的文章<获取ISAPI_Rewrite重写后的URL>, URL-Rewrite 这项技术早已不是一项新技术了,这个话题也已经被很多人讨论过多次.搜索 ...

  10. Android动画(一)-视图动画与帧动画

    项目中好久没用过动画了,所以关于动画的知识都忘光了.知识总是不用则忘.正好最近的版本要添加比较炫酷的动画效果,所以也借着这个机会,写博客来整理和总结关于动画的一些知识.也方便自己今后的查阅. Andr ...