efes
e代驾前端助手 edaijia fe assistant
PS:efes的git commit检测规则中,eslint、csslint,和图片必须add提交为强制检测,error将导致提交失败。version字符串检测只做提示,供开发人员参考。
node 版本要求
node要求4.1.0+
下载地址:http://npm.taobao.org/mirrors/node
python要求2.x版本
安装/更新
npm install -g efes
或
cnpm install -g efes
hook
初始化git commit提交验证
git根目录下运行下面的命令
efes hook
此命令会在.git/hooks目录下添加pre-commit文件,在git commit时,会触发此文件中的操作,进行lint、图片Add提交、version字符串检查(只针对新添加或修改的文件)。
ver
为引用的js、css增加版本号字符串,默认:VERSION
efes ver [-s versionstring]
// -s 自定义版本字符串。
此命令会在会遍历当前目录和子目录下所有的html文件,监测使用相对路径的js和css为其添加/替换版本号字符串。
init
初始化项目验证规则/脚手架
在开发的项目根目录下运行下面的命令
PS:为了避免错误,efes init在windows下请在cmd下运行。
efes init
选择脚手架为:no,此时,efes会在项目根目录下创建如下三个文件:
.eslintrc:eslint监测规则(此文件同时也是Sublime的插件Sublime-contrib-eslint配置文件)
.csslintrc:csslint监测规则<br>
.efesconfig:efes配置文件
选择脚手架为:yes,此时,efes会在项目根目录创建完整的目录结构,和gulp配置。
生成后,请先运行下面的命令安装npm插件:
npm install
cnpm install
然后运行,下面命令启动gulp任务:
gulp
a 生成文件目录结构
|— fonts 字体
|— images 图片
|— styles 样式
|— scripts 脚本
|— concatfile.json 合并配置文件
|— gulpfile.js gulp 任务配置文件
|— package.json npm配置文件
|— .eslintrc eslint规则文件
|— .csslintrc csslint规则文件
|— .efesconfig efes项目配置文件
|— index.html 首页
|— src 开发目录
|— coffee coffee文件开发目录
|— es6 es6文件开发目录
|— js js文件开发目录
|- image 图片文件(将自动压缩至根目录下的images文件夹中。对不需要压缩的文件在concatfile.json中配置)
|— less less文件开发目录
|— includes less引用文件目录,如:header.less等。
|— publishs less发布文件目录,如:index.less等。concatfile.json中只能配置合并此目录下的文件
|— css css文件开发目录
|- html html文件开发目录,将自动复制至根目录。
|— jade jade文件开发目录,jade不需要在concatfile.json中配置合并
|— includes jade引用文件目录,如:header.jade等
|— publishs jade发布目录文件
b gulp自动化功能:
1)、自动编译coffee、es6、less、jade
2)、根据concatfile.json配置的内容,自动合并js(coffee、es6)、css(less)
3)、支持sourcemap功能。
4)、文件有改变时自动刷新页面。
Sublime 配套插件(建议安装Sublime3)
下面的插件,请先确认下列 npm 包是否已经安装:
elint
安装命令:cnpm install -g elint
csslint
安装命令:cnpm install -g csslint
SublimeLinter:https://sublime.wbond.net/packages/SublimeLinter
SublimeLinter-csslint:https://sublime.wbond.net/packages/SublimeLinter-csslint
SublimeLinter-contrib-eslint:https://packagecontrol.io/packages/SublimeLinter-contrib-eslint
JsFormat:https://packagecontrol.io/packages/JsFormat
git commit 中文乱码解决方案
git 中文文件名 乱码 mac
git 默认中文文件名是 xx%
是因为 对0x80以上的字符进行quote
只需要
git config core.quotepath false
core.quotepath设为false的话,就不会对0x80以上的字符进行quote。中文显示正常
v0.1.10更新
1、新增替换版本号字符串命令『efes ver』.
2、gulp提供图片压缩支持(使用pngquant压缩引擎)。
3、src目录中增加html,方便自动刷新。
4、优化commit的速度。
v0.1.9更新
bugs fixed
1、修复windows下不能init不能生成文件、目录的bug。
v0.1.8更新
1、调整init命令的脚手架选项,改为选择是否使用脚手架。
2、支持脚手架生成文件结构
3、支持sourcemap功能
遗留bug:
1、sourcemap 对同名的css、js文件不能正确区分。