# cf-content-system **Repository Path**: simplefatty/cf-content-system ## Basic Information - **Project Name**: cf-content-system - **Description**: cf-content-system - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2016-04-22 - **Last Updated**: 2024-10-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 部署说明 ## 运行 首先进入要存放文件的文件夹路径 `git clone https://git.oschina.net/simplefatty/cf-shop-system.git` `cd cf-shop-system` 运行`npm install`安装运行依赖 运行`bower install`安装前端依赖 安装完毕后可运行 `gulp serve` --开发模式 `gulp build` --编译模式(将项目文件输出为上线文件) `gulp serve:dist` --调试上线模式 ### Gulp 目录结构 --gulp * --base.js 配置基本项目依赖 * --build.js 生成上线版本脚本 * --config.js 全局配置文件 * --server.js 代理服务器/服务器启动脚本 详细配置见文件注释 ## 框架目录 主要功能目录 * gulp 脚本管理 * src 项目源文件 * app.conf.json Angular全部变量配置文件,通过[dev-config/prod-config任务编译] * config.rb compass配置文件 * vendor.base.json 前端启动依赖文件(打包会随源文件一同压缩) * vendor.json 前端依赖库文件(通过Lazyload模块加载) * package.json 编译模块依赖文件以及项目配置--新增模块请注意加上 `npm install --save 新安装模块` * bower.json 前端依赖库json文件 `bower install --save 新安装模块` ## 源文件 ### app目录 主要文件 * assets 存放静态文件 * config 全局配置文件,包括路由配置模块`routes`,全局定义模块`core`,以及按需加载模块`lazyload` * directive 指令模块,页面所有的指令文件写在这里,模块位置为`cf-shop(项目名).directive` * service 服务模块,页面所有的服务文件写在这里,模块位置为`cf-shop(项目名).service` * filter 过滤器模块,页面所有的过滤器文件写在这里,模块位置为`cf-shop(项目名).filter` * resource Api配置模块,全局的Api配置位置(目前Api数量较少,不考虑多文件,后期可能会改为多文件) * app.module.js 全局模块依赖声明模块,如无需全局依赖更改,不要随意改动该文件内容. * app.conf.js 由app.conf.json编译而来的全局变量文件,配置当前开发模式DEV/PRODUCTION * vendor.js 前端依赖js库文件,随index.html注入文档 * vendor.scss 前端依赖scss库文件,通过在index.scss中引入 * index.scss 全局的样式文件. ### 规范 1 除主要文件外,其他模块为用户自定义组件模块,尽量保证模块的高度复用. 2 相应配置在响应位置定义,如指令应该在directive文件夹中定义,服务在servce中定义.不同业务作用的指令以及服务分开定义,不要写在一起! 3 命名规范,除Api声明页面采用大驼峰命名外(区分作用,例:DaTuoFeng),其他模块定义以及文件定义均为小驼峰(例:xiaoTuoFeng). 4 组件一般应由四部分组成,路由(统一命名为文件夹内的index.js文件),指令(xxx.directive.js),Html文件以及子模版(小驼峰命名),样式文件SCSS. 5 组件的声明方式一般由路由中声明,如路由配置``,通过指令来定义引用html模版以及控制器,详见目录中的范例. 6 使用别名的方式,遵循OOP编程规范,在使用控制器时尽量使用ControllerAs的方式使用,全局的this作用域统一用 `vm(viewmodel)`声明. 7 保证代码格式化美观,对齐好代码格式. 8 依赖注入方式统一使用`$inject`的方式,如`controller.$inject=['$scope']; function controller(){var vm=this;}` 9 样式文件保证较高程度复用性,避免修改依赖的库文件,遇到必须修改的情况时,考虑对全局的影响采用部分hack的方式避免对全局造成影响.如定义一个新的类名包裹hack部分.(!!极力避免这种hack,除非万不得已) 10 遇到一个页面中含有多个子页面的情况,在外层`index.js`中定义路由,具体的路由逻辑在在子文件目录中定义指令来控制.切记不同子页面的逻辑写在一起或者文件堆积在一起. 11 有需要解释的部分加上必要的注释,不同逻辑块间用空行隔开 12 不要随意改动gulp构建代码,有问题反馈后再改 13 全局文件config,app.module.js,app.conf.json也切忌随意改动,有改动及时反馈,动到不是自己的代码的时候也要反馈,如果确定改动无影响注意加上注释 14 在路由拦截如果不需要权限验证,如一些登录注册的验证模块,在`state`配置中加入`auth:true`关闭拦截 15 后面的待续补充