项目迁移到 Tencent/feflow 的说明
由于业务调整,本项目不再更新,感谢大家一直以来的支持。后续需求会合并到 Feflow 项目进行开发迭代,请移步:
一个基于 Gulp、高效、跨平台(macOS & Win)、可定制的前端工作流程。现已推出 GUI 桌面工具:WeFlow,无需安装任何环境依赖即可使用,官网下载:http://weflow.io/
请确保已安装 Node.js (已支持到最新版,如:v5+, v8, v9 等)
npm install gulp-cli -g
npm install
推荐使用 yarn 安装环境依赖,详见yarn 注1:Windows 用户请先安装 git,然后在 Git Bash 下执行 npm install 即可(非 CMD)。 注2:如遇 npm install 网络问题,推荐尝试 cnpm 或 NPM腾讯云分流 安装环境依赖
推荐使用 yarn 安装环境依赖,详见yarn 注1:Windows 用户请先安装 git,然后在 Git Bash 下执行 npm install 即可(非 CMD)。
yarn
CMD
注2:如遇 npm install 网络问题,推荐尝试 cnpm 或 NPM腾讯云分流 安装环境依赖
tmt-workflow/ │ ├── _tasks // Gulp 任务目录 │ ├── TaskBuildDev.js // gulp build_dev │ ├── TaskBuildDist.js // gulp build_dist │ ├── TaskFTP.js // gulp ftp │ ├── TaskZip.js // gulp zip │ │ │ ├── common │ │ └── webp.js │ │ │ ├── index.js │ │ │ ├── lib │ │ └── util.js │ │ │ └── plugins // 插件目录 │ ├── TmTIndex.js │ └── ftp.js │ ├── package.json │ └── project // 项目目录,详见下述项目结构 ↓↓↓ ├── src ├── dev ├── dist └── gulpfile.js
project/ // 项目目录 ├── gulpfile.js // Gulp 工作流配置文件 │ ├── src // 源文件目录,`gulp build_dev`阶段会监听此目录下的文件变动 │ ├── css // 存放 Less 文件的目录,只有 style-*.less 的文件名会被编译 │ │ └── lib/ │ │ │ ├── lib-reset.less │ │ │ ├── lib-mixins.less │ │ │ └── lib-rem.less │ │ └── style-index.less // CSS 编译出口文件 │ │ │ ├── html │ ├── media // 存放媒体文件,如 bgm.mp3 abc.font 1.mp4 等 │ ├── img // 存放背景图等无需合并雪碧图处理的图片 │ └── slice // 切片图片素材,将会进行雪碧图合并,同名 @2x 图片也会合并 │ ├── icon-shake.png │ └── icon-shake@2x.png │ ├── dev // 开发目录,由 `gulp build_dev` 任务生成 │ ├── css │ ├── html │ ├── media │ ├── img │ └── slice // 开发阶段,仅从 src/slice 拷贝至此,不做合并雪碧图处理 │ └── dist // 生产目录,由 `gulp build_dist` 任务生成 ├── css ├── html ├── media ├── img └── sprite // 将 /src/slice 合并雪碧图,根据 /css 文件名,命名为 style-*.png ├── style-index.png └── style-index@2x.png
.tmtworkflowrc
.tmtworkflowrc 配置文件为隐藏文件,位于工作流根目录,可存放配置信息或开启相关功能,详见WiKi。如:FTP 配置信息、开启 WebP功能,开启 REM 支持等。
{ // FTP 发布配置 "ftp": { "host": "xx.xx.xx.xx", "port": "8021", "user": "tmt", "pass": "password", "remotePath": "remotePath", // 默认上传至根目录,此属性可指定子目录路径 "includeHtml": true // FTP 上传时是否包含 .html 文件 }, // 浏览器自动刷新 "livereload": { "available": true, // 开启 "port": 8080, "startPath": "html/TmTIndex.html" // 启动时自动打开的路径 }, // 插件功能 // 路径相对于 tasks/plugins 目录 "plugins": { "build_devAfter": ["TmTIndex"], // build_dev 任务执行完成后,自动执行 "build_distAfter": [], // build_dist 任务执行完成后,自动执行 "ftpAfter": ["ftp"] // ftp 任务执行完成后,自动执行 }, "lazyDir": ["../slice"], // gulp-lazyImageCSS 启用目录 "supportWebp": false, // 开启 WebP 解决方案 "supportREM": false, // 开启 REM 适配方案,自动转换 px -> rem "supportChanged": false, // 开启 只编译有变动的文件 "reversion": false // 开启 新文件名 md5 功能 }
注1:**./src** 为源文件(开发目录),/dev 和 /dist 目录为流程自动生成的临时目录。注2:FTP 和 zip 任务执行后会自动删除 /dist 目录。
./src
/dev
/dist
FTP
zip
1. 开发任务 gulp build_dev
gulp build_dev
按照目录结构创建好项目后,执行 gulp build_dev 生成开发文件位于 /dev,包含以下过程
目录结构
ejs -> html
less -> css
注:浏览器刷新功能可在 .tmtworkflowrc 中进行配置
执行后 Demo 预览:project/dev/html/index.html
2. 生产任务 gulp build_dist
gulp build_dist
开发完成后,执行 gulp build_dist 生成最终文件到 /dist 目录,包含以下过程:
执行后 Demo 预览:project/dist/html/index.html
3. FTP 部署 gulp ftp
gulp ftp
依赖于 生产任务,执行后,会先执行 gulp build_dist ,然后将其生成的 /dist 目录上传至 .tmtworkflowrc 指定的 FTP 服务器。
生产任务
4. 打包任务 gulp zip
gulp zip
将 gulp build_dist 生成 dist 目录压缩成 zip 格式。
dist
更多详细说明 参见 WiKi
推荐配合 WebStorm 等编辑器的 Gulp 任务管理器 使用,体验更佳。
也可配合桌面工具:[WeFlow],无需安装环境依赖,获得可视化的操作体验。
tmt-workflow 具有良好的定制性和扩展性,用户可针对自身团队的具体需求,参看以下文档进行定制:
tmt-workflow
定制性
扩展性
如果你有 Bug反馈 或 功能建议,请创建 Issue 或发送 Pull Request,非常感谢。
Bug反馈
功能建议
腾讯开源激励计划 鼓励开发者的参与和贡献,期待你的加入。
所有代码采用 MIT License 开源,可根据自身团队和项目特点 fork 进行定制。
fork
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
项目迁移说明
由于业务调整,本项目不再更新,感谢大家一直以来的支持。
后续需求会合并到 Feflow 项目进行开发迭代,请移步:
tmt-workflow
功能特性
快速开始
请确保已安装 Node.js (已支持到最新版,如:v5+, v8, v9 等)
npm install gulp-cli -gnpm install目录结构
工作流目录结构
项目目录结构
配置文件
.tmtworkflowrc.tmtworkflowrc配置文件为隐藏文件,位于工作流根目录,可存放配置信息或开启相关功能,详见WiKi。如:FTP 配置信息、开启 WebP功能,开启 REM 支持等。
任务说明
1. 开发任务
gulp build_dev按照
目录结构创建好项目后,执行gulp build_dev生成开发文件位于/dev,包含以下过程ejs -> html和less -> css编译注:浏览器刷新功能可在
.tmtworkflowrc中进行配置执行后 Demo 预览:project/dev/html/index.html
2. 生产任务
gulp build_dist开发完成后,执行
gulp build_dist生成最终文件到/dist目录,包含以下过程:执行后 Demo 预览:project/dist/html/index.html
3. FTP 部署
gulp ftp依赖于
生产任务,执行后,会先执行gulp build_dist,然后将其生成的/dist目录上传至.tmtworkflowrc指定的FTP服务器。4. 打包任务
gulp zip将
gulp build_dist生成dist目录压缩成zip格式。更多详细说明 参见 WiKi
使用预览
推荐配合 WebStorm 等编辑器的 Gulp 任务管理器 使用,体验更佳。
也可配合桌面工具:[WeFlow],无需安装环境依赖,获得可视化的操作体验。
其它说明
tmt-workflow具有良好的定制性和扩展性,用户可针对自身团队的具体需求,参看以下文档进行定制:参与贡献
如果你有
Bug反馈或功能建议,请创建 Issue 或发送 Pull Request,非常感谢。腾讯开源激励计划 鼓励开发者的参与和贡献,期待你的加入。
License
所有代码采用 MIT License 开源,可根据自身团队和项目特点
fork进行定制。