README
generator-janna
JANNA配套脚手架工具,生成JANNA项目(基于ant Design、dva、roadhog)或者dva相关文件(model、route、component),生成的项目包括了在商家端体系中不断的沉淀的scu套件(接口请求等工具模块、行业组件、通用组件扩充、监控)、默认配置,实现中后台项目的快速搭建。
目标
飞猪后台类业务开发收拢到一套技术体系下,对新技术的引入执行与 C 端一致的严格 Review 机制,保持整个技术基线的统一,降低开发成本。
工具安装
mac获取权限请使用sudo
1、安装 tnpm
$ npm install -g tnpm@latest --registry=http://registry.npm.alibaba-inc.com
2、安装 Yeoman、Grunt、generator
$ tnpm install -g yo grunt-cli generator-janna
初始化一个后台项目
$ yo janna
选择项目,根据提示完成初始化任务:
项目骨架初始化完成,目录结构如下:
├── build/
├── grunt/
└── exec.js // grunt自动化任务配置文件
├── Gruntfile.js
└── src/
├── components/ // 业务组件
├── public/
└── index.html // 本地开发的页面
├── models/ // 业务逻辑
├── routes/ // 路由页面
├── services/ // 服务api
├── tests/ // 测试
├── utils/ // 工具
├── router.jsx // router文件
├── index.js // dva入口文件
└── index.less // 对全局影响的less文件
├── .roadhogrc.js // roadhog配置文件
├── .eslintrc // eslint配置
├── webpack.config.js // 自定义webpack配置
生成model、route、component等文件
在项目根目录执行:
$ yo janna
选择对应文件类型,根据提示输入
你也可以使用一下快捷命令直接生成对应类型文件
$ yo janna:route
$ yo janna:model
$ yo janna:component
本地开发及发布
在当前项目根目录下执行
1、 本地开发启动服务
grunt dev
2、 拉取最新分支基于当前分支的最大版本号,以及(major
、minor
)与C端保持一致
grunt newbranch
3、 发布到cdn日常环境
grunt prepub:<message>
4、 发布到cdn生产环境
grunt publish:<message>
grunt prepub
和 grunt publish
可以在后面加commit message,例如
grunt prepub:'添加某功能'
可以使用 nobuild
来跳过构建流程
grunt publish:nobuild
依赖的技术
社区开源项目: grunt yeoman