Angular企业级开发(5)-项目框架搭建
时间:2022-04-22
本文章向大家介绍Angular企业级开发(5)-项目框架搭建,主要内容包括1.AngularJS Seed项目目录结构、1.2 angular-seed缺点、2.Yeoman生成脚手架项目目录、2.2 yo angular脚手架的缺点、3.小结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
1.AngularJS Seed项目目录结构
AngularJS官方网站提供了一个angular-phonecat项目,另外一个就是Angular-Seed项目。所以大多数团队会基于Angular-Seed项目来开发,本文首先分析angular-seed项目的目录结构。以及AngularJS团队为我们做了什么事情,提供了我们真实开发最需要的框架结构。
这个项目仅仅是一个典型的AngularJS网络应用程序的应用程序骨架。 您可以使用它来快速引导您的Angular webapp项目和搭建开发环境。
Angular Seed包含一个样例AngularJS应用程序,并且预配置为安装Angular框架和一系列用于即时Web开发满足的开发和测试工具。
仅仅编写了2个控制器,并且写了它们对应的视图。
1.1 angular-seed优点
- 提供一个基本的SPA应用的基本框架
- 使用了npm来安装npm模块,集成bower安装第三方类库和插件
- 集成单元测试和端到端测试环境
- 采用Travis来做集成测试
1.2 angular-seed缺点
- 只创建了2个视图和对应的控制器
- 未提供创建服务、自定义指令和过滤器的代码
- 代码未按需加载,首页把视图要用到的控制器代码全部加载进来
运行效果如下:
单元测试
npm test
End to End测试
npm start
npm run update-webdriver
npm run protractor
在项目不是很复杂的情况,Angular Seed提供框架能满足实际项目开发,而且本身集成测试,构建和发布一体的环境,适合新手或者项目不复杂的团队选用。
2.Yeoman生成脚手架项目目录
Yeoman团队也提供了一个angular生成器,开发团队可以通过yo angular
生成一个angular项目脚手架,然后基于此脚手架来进行项目开发。
项目目录结果如下:
运行效果如下:
2.1 yo angular
脚手架的优点
- 提供一个基本的SPA应用的基本框架
- 可以通过类似
angular:filter
命令创建不同的文件 - 集成了单元测试
- 集成了构建、测试和发布环境
- 添加了样式文件
2.2 yo angular
脚手架的缺点
- 需要了解和使用yeoman,学习成本较高
- 构建工具使用的是Grunt,可能部分团队更趋向使用
Gulp
。
3.小结
目前使用AngularJS进行项目开发的团队和个人,基本上在项目框架搭建的时候会参考以上2种框架,实际在后期开发过程中,会发现这2个框架会有一些共同问题,比如文件按需加载,框架没有一开始就很好的支持路由等。所以很多个人或团队,都会基于这2个框架进行修改,以便更好的支持企业级项目开发。下一篇博客,会写到公司实际项目框架。
- java如何自定义鼠标指针
- 面向对象最重要的是“抽象”,三层最重要的也是“抽象”,没有抽象就不是真正的面向对象、三层。
- 唯一不变的就是一直在变”--“数据”的华丽“变身术”
- 借用 疯狂秀才 的页面,修改了一下自然框架后台管理的页面。
- PDF.NET(PWMIS数据开发框架)之SQL-MAP目标和规范
- PDF.NET数据开发框架 之SQL-MAP使用存储过程
- 用接口实现事件的一种方法,只是玩玩。
- 国内研究人员首次Wifi重大漏洞利用实现 | Krack攻击测试套件打包
- 想成为优秀程序员必知的要点
- Attribute(特性),怎么用才更好?
- 如何使用Airgeddon搭建基于软件的WIFI干扰器
- 还在写SQL的同志,去喝杯咖啡吧!
- 使用XSD编写具有智能提示的XML文件(以SQL-MAP脚本为实例)
- 一个利用CVE-2017-11292的APT样本技术分析(一)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- thinkphp3.2同时连接两个数据库的简单方法
- php实现微信企业付款到个人零钱功能
- php中对象引用和复制实例分析
- php中上传文件的的解决方案
- PHP实现与java 通信的插件使用教程
- thinkPHP5框架接口写法简单示例
- php实现数组重复数字统计实例
- php提取微信账单的有效信息
- php使用pecl方式安装扩展操作示例
- RSA实现JS前端加密与PHP后端解密功能示例
- Laravel源码解析之路由的使用和示例详解
- Linux中crontab输出重定向不生效问题的解决办法
- PHP swoole和redis异步任务实现方法分析
- thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
- 教你一招实现Linux中的文本比对