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个框架进行修改,以便更好的支持企业级项目开发。下一篇博客,会写到公司实际项目框架。
- 人人公司收购美国卡车社区 Trucker Path,未来或探索无人驾驶
- WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[下篇]
- 《WCF的绑定模型》博文系列汇总[共6篇]
- 快来看看难民营里的高科技超市
- WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[中篇]
- 如何通过自定义MessageFilter的方式利用按键方式操作控件滚动条[附源代码]
- WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)
- 《WCF技术剖析》博文系列汇总[持续更新中]
- 关于服务器的运行寿命 你应该知道这些事
- WCF技术剖析之二十三:服务实例(Service Instance)生命周期如何控制[下篇]
- WCF技术剖析之二十一: WCF基本的异常处理模式[上篇]
- 树大招风:细数2017年加密货币市场的幺蛾子事件
- 如何解决HP QC(Quality Center)在Windows 7下不能工作的问题
- WCF技术剖析之二十二: 深入剖析WCF底层异常处理框架实现原理[上篇]
- 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 数组属性和方法
- python3 使用cookie模拟post实现修改活码内容
- VIM 创建程序文件自动添加头部注释
- 【简记】Linux 计划任务 Crontab
- VS Code 免密登录Linux服务器
- Linux部署私钥实现免密登录
- 搭建Jenkins+tomcat+maven+Gitlab持续部署/回滚系统
- Java--注解
- 如何在 Ubuntu 20.04 上安装 Jenkins
- 在 Linux 下如何检查内存使用率
- 3分钟短文 | MySQL存时间,到底该用timestamp还是datetime?
- js中class的继承的基础用法
- JavaScript 设计模式学习总结与感悟(开发&面试必备)
- 3分钟短文 | PHP多维数组搜索值,就只能for循环?这样写更高效
- 如何获得tomcat管理员账号
- ant target间的dependency