Angular 的安装和使用
<p><strong><span style="font-family: 幼圆; font-size: 18px; color: rgba(128, 128, 128, 1)">本文内容概要:</span></strong></p><ul>
<li><strong><span style="font-family: 幼圆; font-size: 18px; color: rgba(128, 128, 128, 1)">angular简单介绍</span></strong></li>
<li><strong><span style="font-family: 幼圆; font-size: 18px; color: rgba(128, 128, 128, 1)">安装angular的依赖环境</span></strong></li>
<li><strong><span style="font-family: 幼圆; font-size: 18px; color: rgba(128, 128, 128, 1)">angular的简单应用(创建项目+组件+module+service+class)</span></strong></li>
<li><strong><span style="font-family: 幼圆; font-size: 18px; color: rgba(128, 128, 128, 1)">组件中主要文件的介绍</span></strong></li>
</ul>
<p> </p>
<blockquote>
<p><strong><span style="font-size: 18pt">介绍</span></strong></p>
</blockquote>
<p>Angular是一套用于构建用户界面的JavaScript框架。有Google开发和维护,主要用来开发单页面应用程序。类似于vue.js。</p>
<p><span style="font-size: 18px"><strong>特性</strong></span></p>
<ul>
<li>MVVM(数据驱动视图思想)</li>
<li>组件化</li>
<li>模块化</li>
<li>指令</li>
<li>服务</li>
<li>依赖注入</li>
<li>Typescript</li>
<li>、、、、、、</li>
</ul>
<p><strong><span style="font-size: 18px">现状</span></strong></p>
<p>目前,无论我们使用什么前端框架,都必然要使用到各种NodeJS工具,angular也不列外。与其它框架不同,angular从一开始就走的“全家桶”式的设计思路,因此 @angular/cli 这款工具里面集成了日常开发需要使用的所有Node模块,使用 @angular/cli 可以大幅度降低搭建开发环境的难度。</p>
<blockquote>
<p><strong><span style="font-size: 18pt">安装依赖环境</span></strong></p>
</blockquote>
<p><strong><span style="font-size: 18px">安装Node.js</span></strong></p>
<ul>
<li>下载地址:https://nodejs.org/en/download/</li>
<li>安装后在cmd中输入:node -v 确认Node.js环境</li>
</ul>
<p><strong><span style="font-size: 18px">安装npm</span></strong></p>
<ul>
<li><span style="font-size: 15px">npm会随着node的安装一起被安装。</span></li>
<li><span style="font-size: 15px">在cmd中输入npm -v 确认npm环境。</span></li>
</ul>
<p><span style="font-size: 15px">由于@angular/cli同时依赖python,故同样需要安装python的运行环境,这里不多做赘述。</span></p>
<p><span style="font-size: 18px"><strong>安装c++编译工具</strong></span></p>
<ul>
<li>@angular/cli在Windows上同时依赖c++编译工具,所以也需要单独安装Visual Studio。</li>
<li>执行下面的命令安装c++编译工具:</li>
</ul>
<div class="cnblogs_code">
<pre>npm install --<span style="color: rgba(0, 0, 255, 1)">global</span> --production windows-build-tools</pre>
</div>
<p><strong><span style="font-size: 18px">安装 <span style="color: rgba(255, 0, 0, 1)">cnpm</span></span></strong></p>
<p><span style="color: rgba(0, 0, 0, 1); font-size: 15px">cnpm是国内淘宝为了解决npm安装过慢而产生的镜像,因为npm安装是通过外网下载的,很多时候容易安装失败,故建议用cnpm,当然不是必须的。</span></p>
<div class="cnblogs_code">
<pre>npm i -g cnpm --registry=https:<span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">registry.npm.taobao.org</span></pre>
</div>
<p><strong><span style="font-size: 18px">安装 @angular/cli</span></strong></p>
<p>Angular CLI是Angular官方开发的一个类似与Vue CLI的脚手架开发工具,它帮我们集成了webpack打包、开发服务器、单元测试、自动编译、部署等功能。</p>
<div class="cnblogs_code">
<pre>cnpm i -g @angular/cli</pre>
</div>
<p>安装后在cmd中输入 ng --version 确认是否安装成功。</p>
<p><span style="font-size: 18px"><strong>安装失败解决方案</strong></span></p>
<ul>
<li>在Windows平台上安装@angular/cli会报很多error,那是因为@angular/cli 在Windows平台上面依赖python和Visual Studio 环境,而很多开发者并不一定安装了这些。</li>
<li>以及node-sass模块被墙的问题,强烈推荐使用cnpm进行安装,可以非常有效地避免撞墙。</li>
<li>如果安装失败,请手动把全局的<span style="color: rgba(255, 0, 0, 1)"><span style="color: rgba(255, 0, 0, 1)">@angular/cli <span style="color: rgba(0, 0, 0, 1)">删掉:</span></span></span>
<div class="cnblogs_code">
<pre>cnpm uninstall -g @angular/cli</pre>
</div>
</li>
<li>如果node_modules删不掉,爆出路径过长之类的错误,请尝试用一些文件粉碎机之类的工具强行删除。</li>
<li>其实无论用什么开发环境,安装的过程中请仔细看错误日志。</li>
</ul>
<blockquote>
<p><strong><span style="font-size: 18pt">Angular的简单应用(<strong>创建项目+component+module+service+class</strong>)</span></strong></p>
</blockquote>
<ul>
<li><strong><span style="font-size: 18px">使用脚手架工具初始化创建项目</span></strong></li>
</ul>
<div class="cnblogs_code">
<pre>ng <span style="color: rgba(0, 0, 255, 1)">new</span> angular-demo(angular-demo:项目名称)</pre>
</div>
<p>Angular CLI 将会自动帮我们把目录结构创建好,并且会自动生成一些目录文件。如下图所示:</p>
<p><img src="https://img2020.cnblogs.com/blog/1487352/202012/1487352-20201223112443455-403350860.png"></p>
<p> </p>
<p> 注意:这里自动下载第三方包的依赖文件时通过快捷键CTRL+C打断,不要自动下载,这样很可能会出错,我们通过cnpm手动去安装就好。</p>
<div class="cnblogs_code">
<pre>cd angular-<span style="color: rgba(0, 0, 0, 1)">demo
cnpm install || cnpm i</span></pre>
</div>
<ul>
<li><span style="font-size: 18px"><strong>启动angular应用程序(Server the application)</strong></span></li>
</ul>
<p>使用脚手架工具初始化项目完成之后,就可以启动开发模式了。</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">ng serve
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">或者npm start</span></pre>
</div>
<p><strong>注意:</strong></p>
<ul>
<li>在项目根目录下执行</li>
<li>是 <span style="color: rgba(255, 0, 0, 1)">serve</span> 不是server,我就经常手误输错。</li>
<li>该命令默认会开启一个服务器占用4200端口,如果想要修改可以通过 <span style="color: rgba(255, 0, 0, 1)">--port <span style="color: rgba(0, 0, 0, 1)">参数来指定,例如 :</span></span></li>
</ul>
<div class="cnblogs_code">
<pre>ng server --port <span style="color: rgba(128, 0, 128, 1)">5000</span></pre>
</div>
<p> </p>
<p><img src="https://img2020.cnblogs.com/blog/1487352/202012/1487352-20201223114538689-825182925.png"></p>
<p>如上图所示,我们在进行项目编写的时候,所有的编写文件基本都在src目录文件下。</p>
<ul>
<li><strong><span style="font-size: 18px">使用命令在 src/app/pages 目录下创建新组件(component)</span></strong></li>
</ul>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">ng generate component NewComponentName
</span>||<span style="color: rgba(0, 0, 0, 1)"> ng g component 组件名称
</span><span style="color: rgba(0, 128, 0, 1)">//</span><span style="color: rgba(0, 128, 0, 1)">NewComponentName 新组建名称</span></pre>
</div>
<ul>
<li><strong><span style="font-size: 18px">使用 Angular CLI 创建一个新模块(module)</span></strong></li>
</ul>
<p> </p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">ng generate module 模块名称
</span>|| <span style="color: rgba(0, 0, 0, 1)">ng g module 模块名称</span></pre>
</div>
<p> </p>
<ul>
<li>
<p><strong><span style="font-size: 18px">使用 Angular CLI 创建一个新服务(service)</span></strong></p>
</li>
</ul>
<p> </p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">ng generate service 服务名称
</span>|| ng g service 服务名称</pre>
</div>
<p> </p>
<ul>
<li>
<p><strong><span style="font-size: 18px">使用 Angular CLI 创建一个简易的模型类(class)</span></strong></p>
</li>
</ul>
<p> </p>
<div class="cnblogs_code">
<pre>ng generate class 类名称</pre>
</div>
<p> </p>
<blockquote>
<p><span style="font-size: 18pt"><strong>组件中主要文件的介绍</strong></span></p>
</blockquote>
<p> </p>
<ul>
<li><span style="font-size: 16px"><strong>main.ts </strong></span></li>
<li>这个文件就是模块化启动入口,负责加载启动根模块。</li>
</ul>
<p><img src="https://img2020.cnblogs.com/blog/1487352/202012/1487352-20201223115002999-1881873172.png"></p>
<p> 主要是去加载app目录下的组件,如下图所示:</p>
<p><img src="https://img2020.cnblogs.com/blog/1487352/202012/1487352-20201223115415040-2100921886.png"></p>
<ul>
<li><span style="font-size: 16px"><strong> component.ts文件</strong></span></li>
<li>而我们主要关注的就是此核心文件 ----- 项目的根组件。在angular中组件就是一个类。</li>
<li>@component 组件的装饰器</li>
<li>selecor 用来定义组件渲染的标签名称,说白了就是组件的名字</li>
<li>templateUrl 用来指定组件的模板文件</li>
<li>styleUrls 一个数组,用来存放组件相关的样式文件</li>
</ul>
<p> <img src="https://img2020.cnblogs.com/blog/1487352/202012/1487352-20201223120406557-2063916712.png"></p>
<ul>
<li> <span style="font-size: 16px"><strong>HTML文件</strong></span></li>
</ul>
<p><img src="https://img2020.cnblogs.com/blog/1487352/202012/1487352-20201223120558711-1506124307.png"></p>
<p> 上图中<span style="color: rgba(255, 0, 0, 1)">{{ }}</span>中的 title 对应的便是component.ts中的 title 。(图中的绿色部分)</p>
<ul>
<li><strong><span style="font-size: 16px">moudle文件</span></strong></li>
<li><span style="font-size: 15px">项目的根模块。负责把组件、服务、路由、指令等组织到一起,设置启动组件为根组件。</span></li>
</ul>
<p><span style="font-size: 18px"><strong>目录结构</strong></span></p>
<p><img src="https://img2020.cnblogs.com/blog/1487352/202012/1487352-20201223134928231-1528911763.png"></p>
<p> </p>
<p><span style="font-size: 18px"><strong> npm scripts 介绍</strong></span></p>
<p><img src="https://img2020.cnblogs.com/blog/1487352/202012/1487352-20201223135101868-579944182.png"></p>
<p> </p>
<p>原文件如下图所示:</p>
<p><img src="https://img2020.cnblogs.com/blog/1487352/202012/1487352-20201223135358608-852891997.png"></p>
<p> </p>
<p> 以上内容只是一个简单的介绍,具体以angular官网文档为准:https://angular.cn/docs</p>
<p> </p><br><br>
来源:https://www.cnblogs.com/Chestnut-g/p/14177886.html
頁:
[1]