fdm
Version:
基于gulp的1688前端集成化工具
214 lines (105 loc) • 4.63 kB
Markdown
基于gulp的1688前端集成化工具——Neat
前端开发集成化工具, 贯穿前端开发过程中从项目创建到开发,测试,发布的整个生命周期。
基于[Nodejs](http://nodejs.org/)和[gulp](http://gulpjs.com/)
## 安装和配置
### node.js 环境
本集成开发环境基于[gulp](http://gulpjs.com/),`gulp`依赖node.js 0.9以上环境,所以大家安装最新版本即可。
node.js的最新版本可以到[这里下载](http://nodejs.org/download/)
### 工具的安装
npm install -g fdm --registry http://registry.cnpmjs.org
Git环境(可选,用于从git获取模板),[安装指南](http://rogerdudler.github.io/git-guide/index.zh.html)
## 帮助命令
fdm -V //查看版本
fdm -h //查看工具帮助
fdm -p //查看专属插件,从npm查询keyword为fdmplugin的模块
fdm -t //查看专属模板,从npm查询keyword为fdmtemplate的模块
## 主要命令
### 构建项目
fdm init [proj] [destdir]
//在当前目录通过模板构建,模板可通过 fdm -t查找
fdm init mlofty
//通过现有git项目构建,会自动生成easymob目录
fdm init git@gitlab.alibaba-inc.com:1688/easymob.git
### 自动化开发,需cd到项目目录
fdm start [taskName]
### 本地编译( Aone将使用此编译脚本 )
fdm build [srcdir] [destdir]
使用方法参考[doc](http://gitlab.alibaba-inc.com/fangdeng/neat/blob/master/doc/build.md)
### 盖娅相关
fdm gaea
使用方法参考[doc](http://gitlab.alibaba-inc.com/fangdeng/neat/blob/master/doc/gaea.md)
### 启动[fdserver](https://github.com/fangdeng/fdserver/)
fdm server start
要使用此命令需要配置fdserver的配置文件路径。(注:原先的``fdm fdserver``改成``fdm server``)
### 全局配置
配置文件放在用户目录下(以我自己的电脑为例):
linux系统配置文件放在`/Users/dongming/neat.fdm/config.json`中
windows系统配置文件放在`C:/Users/dongming.jidm/neat.fdm/config.json`中
#### 常用配置
- server配置(集成fdserver)
````
"fdserver": {
config:"/Users/xxx/neat.fdm/server.config.js" //fdserver配置路径,默认指定neat.fdm下的server.config.js
}
````
## 高级进阶(开发者必读,文档完善中)
### 插件开发
规范:设置keywords为fdmplugin,如果通过下方的构建方式,keywords会默认配置好
- 构建插件模板
$ fdm init plugin
- 开发插件
- 发布插件
$ npm publish --registry http://registry.npmjs.org
开发模板
规范:模板最好根据项目框架或业务场景来规范,构建项目页面所需要的最小静态资源需求。设置keywords为fdmtemplate,如果通过下方的构建方式,keywords会默认配置好,模板最好以fd-init-XXX命名,这样用户就能直接通过fdm init XXX安装
- 构建模板(开发中)
$ fdm init template
- 定制模板
- 发布模板
$ npm publish
### FAQ
详见[http://gitlab.alibaba-inc.com/fangdeng/neat/wikis/question-and-answer](http://gitlab.alibaba-inc.com/fangdeng/neat/wikis/question-and-answer)
### 更新记录
0.6.7
- 集成fdserver
- 取消fdm fdserver命令,加入fdm server命令
0.6.5
- config.json文件支持注释
- 增加全局配置的调用功能
0.6.3
- fdm init 模板临时目录迁移支neat.fdm,不再生成在当前项目中
- fdm start 保留所有命令行参数,不只是taskName
0.6.0
- fdm gaea 命令支持命令行输入用户邮箱前缀和crid,命令行中没有输入时,终端中再提示输入
- 优化build文档和gaea文档
0.5.6
- 将fdm配置目录改为 用户根目录/neat.fdm
- 优化fdm init 别名构建
- fdm init 完成命令行打印项目文档
0.5.2
- 移除gaea的配置文件configs/gaea-config.json,盖娅的工作目录默认在neat.fdm/gaea中
0.5.1
- 更新fd-gulp-cssconcat和fd-gulp-jsconcat依赖版本,修正由这两个插件引起的bug(文件不能正常合并,有的文件被合成空文件)
- 优化build任务执行顺序,提高build的速度
0.4.8
- 增加编译命令fdm build
- 增加盖娅环境支持fdm gaea
0.4.0
- 增加gulp平台支持
- 增加本地模拟编译支持
0.3.8
- 支持快捷启动[fdserver](https://github.com/fangdeng/fdserver/)
0.3.7
- 暴露全局config, 通用于不同项目间的gulpfile
var cfg = require('fdm').config
0.3.3
- gitlab分支切换(fdm publish br)
- gitlab分支daily发布(fdm publish daily)
- gitlab分支正式发布(fdm publish cdn)
## 系统结构

## 任务分工

## 项目进度

---