Complete AngularJS project boilerplate.
-
模块化 - 每个JS文件对应一个模块,模块之间声明依赖关系
-
自动化测试
- 基础模块对应UT测试用例
- 业务模块对应UT与E2E测试用例
- 测试用例作为文档
-
隔离原则
-
第三方隔离
- 第三方代码与主体代码隔离
- 不同来源的代码相互隔离
-
业务隔离
- 基础层与业务层隔离
- 不同业务间的代码相互隔离
- 业务代码与测试代码隔离
-
-
聚合原则
- 相同更新频率的文件放在一起
- 相同业务的代码放在一起
-
主体代码分为app和common两个文件夹
- common 对应基础层
- app 对应业务层,内部按业务分目录
-
主体代码与第三方代码分开,第三方代码按来源分目录
-
主体代码与测试用例分开,测试用例按业务分目录
- 文件夹名称与业务名称对应
- JS文件名与angular模块名对应
- 测试用例名称与JS文件名称对应
-
清空目标文件夹
-
合并第三方库到目标文件夹
-
拷贝源文件与图片资源至目标文件夹
-
编译less文件
-
自动为CSS文件添加prefix
-
发布优化:
- 处理angular源文件依赖声明
- 压缩脚本并生成Map文件
- 优化图片
- 清理未压缩的脚本
- 向静态资源添加MD5后缀
-
自动生成脚本引用
AngularMin means Angular for Admin.
This project is a instance about how to build web app with AngularJS. Developers can start new project with it.
- Contain a mock server, no backend dependacy.
- Handy components.
- Bulinding scripts.
- UT and E2E test.
- install nodejs and npm first
- client>npm install
- server>npm install
- server>node app
- client>grunt build
- client>grunt watch
- client>grunt karma watch
- client\test\e2e>protractor config.js
- client>grunt release
Add BrowserSync test server.
Add static asset revisioning. Add base less mixins.
Support for LESS. Support for modernizr. Add release build script. CRM features.