UNPKG

6.28 kBMarkdownView Raw
1# 命令文档
2
3## jdf init
4* `jdf init xxx`,在本地初始化一个jdf的标准项目,目录结构如下所示。`xxx`可省略,省略后默认的项目名称为`jdf_init`
5* `-c`或者`--current`,表示在当前目录初始化jdf工程,不会新建一个新的目录
6
7<pre>
8jdf_init
9├── config.json //jdf配置文件
10├── css
11│ └── i //css中的背景图片
12├── html //html文件夹
13│ └── index.html //项目的默认首页
14├── js
15├── widget //页面中用到的所有widget
16</pre>
17
18## jdf install
19* `jdf install xxx`,将指定的jdf ui组件下载安装到当前项目的`components`文件夹里。并且会在`config.json`中添加一条此组件的版本信息。
20* `jdf install --list`,显示所有的组件列表
21
22## jdf build
23执行此命令jdf会开启一个[本地服务](a_tool_build.md)用来构建项目,一般是用在项目的开发阶段。默认端口为`8080`,如果已被占用,系统会自动开启一个新的端口
24
25* 此命令可简写为`jdf b`
26* `-o`或者`--open`,开启本地服务的同时,自动在浏览器打开当前项目
27* [详细说明](a_tool_build.md)
28
29## jdf server
30执行此命令,仅仅会在本地开启一个静态服务器,不会对文件进行任何编译构建,不依赖于jdf的标准目录结构,这也是它和`build`命令的区别所在
31
32* 此命令可简写为`jdf s`
33* `-o`或者`--open`,开启本地服务的同时,自动在浏览器打开当前项目
34* `-w`或者`--watch`,监听当前目录的文件改动,并实时在浏览器中刷新改动内容
35* [详细说明](a_tool_server.md)
36
37## jdf output
38
39编译当前项目,输出到`build`文件夹,所谓的『输出』,指的是jdf会自动做以下几件事情:
40
41* 此命令可简写为`jdf o`
42* 编译html文件中引用的[widget](core_widget.md)
43* 编译less/sass文件为css
44* 自动将html文件中使用`seajs.use`引用的js路径替换为cdn服务器的绝对路径
45* 自动将html文件中引用的css,js相对路径替换为cdn服务器的绝对路径
46* 自动给css文件中引用的背景图片添加cdn
47* 自动给css样式添加浏览器前缀
48 * 你只需要写纯css样式,不需要手动加浏览器前缀
49 * 根据当前浏览器的流行度和对当前css属性的支持度,自动添加相应的浏览器前缀
50 * 添加的规则数据基于[caniuse](http://caniuse.com/)
51
52```
53a {
54 display: flex;
55}
56```
57```
58a {
59 display: -webkit-box;
60 display: -webkit-flex;
61 display: -ms-flexbox;
62 display: flex
63}
64```
65
66* 压缩css、js、图片文件,并且可根据当前项目中的文件数量自动决定是否启用多线程进行压缩,当前的数量阀值是`200`
67* 自动给js,css文件的内容头部添加时间戳,例如:
68```css
69/* jdf-test css_background_url.css Date:2016-12-13 18:33:13 */
70```
71
72* 自动对html文件中引用的css,js路径进行combo,例如以下两个js路径:
73```html
74<script src="http://misc.360buyimg.com/test/a.js"></script>
75<script src="http://misc.360buyimg.com/test/b.js"></script>
76```
77进行combo之后为:
78```html
79<script src="http://misc.360buyimg.com/test/??a.js,b.js"></script>
80```
81
82* 生成精灵图[cssSprite](a_tool_csssprite.md)
83* 生成base64编码
84
85---
86
87* `-d`或者`--debug`,以debug的模式输出当前项目,不压缩项目中的任何文件
88* `-v`或者`--verbose`,将会详细输出当前项目每一个文件的编译信息。此参数特别适用于输出时卡死的情况,可以方便的查看问题出在了哪一个文件上
89* `-p`或者`--plain`,只编译widget、less、scss,不做任何其它处理。此模式适用于页面是由前端开发,然后需要把页面交付给后端的同学来完成剩下的工作
90* 支持输出指定的文件夹,例如:`jdf o js`
91* 支持输出指定的文件,例如:`jdf o js/a.js`
92* 支持简单的通配符,例如:`jdf o js/**/*.js`,将只输出`js`文件夹下所有的js文件
93
94## jdf upload
95
96把当前项目上传到测试服务器
97
98* 可简写为`jdf u`
99* 目前支持三种上传模式:ftp,sftp,http
100* `-d`或者`--debug`,以debug的模式输出当前项目,不压缩项目中的任何文件
101* `-p`或者`--plain`,只编译widget、less、scss,不做任何其它处理。此模式适用于前端同学仅仅做静态页面,然后把页面交付给后端的同学来完成剩下的工作
102* `-P`或者`--preview`,将当前项目上传到`previewServerDir`配置的目录之下
103* `-v`或者`--verbose`,将会详细输出当前项目每一个文件的编译信息。此参数特别适用于上传时卡死的情况,可以方便的查看问题出在了哪一个文件上
104* 支持上传指定的文件夹,例如:`jdf u js`
105* 支持上传指定的文件,例如:`jdf u js/a.js`
106* 支持简单的通配符,例如:`jdf u js/**/*.js`,将只输出`js`文件夹下所有的js文件
107
108## jdf widget
109
110* 可简写为`jdf w`
111* `-s` 或者 `--smarty`,创建widget时以smarty模板形式创建
112* `-c xxx`或者`--create xxx`,创建一个widget
113* `-P xxx`或者`--preview [xxx]`,预览指定的widget,当没有指定widget时,预览全部widget
114* `-l xxx`或者`--list`,获取服务器上所有的widget列表
115* `-p xxx`或者`--publish xxx`,发布widgt到服务器上
116* `-i xxx`或者`--install xxx`,安装指定的widget到当前项目
117
118## jdf lint
119
120html、css、js文件代码质量检查工具,详细用法可点击[这里](a_tool_lint.md)
121
122* 可简写为`jdf l xxx`,后面跟指定的文件夹/文件
123* [详细说明](a_tool_lint.md)
124
125## jdf format
126
127html、css、js文件格式化工具,详细用法可点击[这里](a_tool_format.md)
128
129* 可简写为`jdf f xxx`,后面跟指定的文件夹/文件
130* [详细说明](a_tool_format.md)
131
132## jdf compress
133
134html、css、js文件压缩工具,详细用法可点击[这里](a_tool_deploy.md)
135
136* 可简写为`jdf c xxx`,后面跟指定的文件夹/文件
137
138## jdf clean
139
140清理jdf缓存文件,遇到比较反常的现象时,可尝试执行此命令
141
142## jdf -h
143
144获取jdf的帮助信息
145
146## jdf -V
147
148获取jdf的当前版本号,注意是大写的`V`
149
150## jdf参数配置文档
151
152请参考:[jdf参数配置文档](a_tool_config.md)进行查阅。
153
154