UNPKG

1.96 kBMarkdownView Raw
1# widget说明
2
3## 什么是widget
4
5在一个比较大型的项目中,一定会拥有很多页面,页面之间会有很多相似的模块,我们就可以把这些功能相似或者样式相似的模块抽离出来,形成一个widget。在需要的html页面中引入即可,引用语法如下:
6
7```
8{%widget name="test"%}
9```
10
11在jdf工程中,创建一个widget使用`jdf widget --create xxx`命令,它会默认存在于当前项目的`widget`目录中,创建过程如下所示:
12
13```
14if you want to create it, type 'y', else 'n'
15vm: y
16js: y
17scss: y
18json: y
19```
20
21一个标准的`widget`模块会默认包含上面四种文件,并且文件名默认和当前`widget`同名。如果只想引用vm文件,使用语法:
22
23```
24{%widget name="test" type="vm"%}
25```
26
27只想引用css文件,使用语法:
28
29```
30{%widget name="test" type="css"%}
31```
32
33同时只引用`vm``css`文件,使用语法:
34
35```
36{%widget name="test" type="vm,css"%}
37```
38
39## vm文件
40
41`vm`是widget的模版文件,可以把其扩展名自行改成`tpl`,默认都支持`velocity``smarty`等模版引擎,当然,你也可以直接在其中编写html代码。
42
43## css文件
44
45jdf默认创建的是scss文件,你可以使用less语法来编写css代码。
46
47## js文件
48
49在js文件中编写与此widget相关的js代码逻辑,支持使用ES6,jdf会自动编译成ES5。
50
51## json文件
52
53widget的数据文件,直接书写`json`数据结构,在`vm`模版中使用类似`${name}`或者`<%=name%>`语法即可引用,具体需要看你使用的是哪种模版语法。
54
55## 相关命令
56
57* `widget --preview [xxx]` - 预览所有项目中所有widget或部分widget
58* `widget --install xxx` - 安装一个widget模块到当前工程
59* `widget --publish xxx` - 发布一个widget模块到服务端
60* `widget --create xxx` - 在本地项目新建一个widget,会生成widget文件夹和vm,css,js,json文件
61* `widget --list` - 取得服务端所有widget列表
62