airoot uisys v1 正式发布
airoot uisys 是一个web前端模块化编译工具,made in china,在模块化方案上相比当今流行框架,它更贴近原生开发,因此在实现了模块化的基础上,性能更棒。
airoot uisys v1 正式发布,并增加了一样更加易用的模块化方案,即“内部模块”语法糖。
可以到Gitee 上搜索uisys,下载 release
可以到Github上搜索uisys,下载。
新增语法-内部模块
@define 关键字
开发者可以在一个ui文件里定义多个模块,以往我们多个模块都是以单独文件形式引入,但这次我们增> 加了文件内部定义模块。
内部模块是一个“闭包”,可以用@define关键字来定义新模块,如下:
<!-- define a module -->
<@define name="MyBox">
<div>Hello Baby!</div>
</@define>
<!-- you code here. -->
<div>
<MyBox/>
<MyBox/>
</div>
你还可以通过js来内部使用,如下:
<!-- define a module -->
<@define name="MyBox">
<div>Hello Baby!</div>
</@define>
<!-- you code here. -->
<div>
<!-- dom area -->
</div>
<script>
function init(){
var box = new MyBox();
dom.appendChild(box);
}
</script>
airoot uisys v1 更新内容
- HTMLScript
去掉了JSX默认导入@import的内容包。
增加了@define的定义的类,默认导入功能。 - UI
增加了了@define功能,可以在模块内部定义子模块
@define定义的模块可以在模块内部互相引用 - 优化了内部模块注册名
- 修正了模块在不同模块引用时,模块domain不一致问题。
- 修正了HTMLScript #加根节点ID时候,解析错误问题。
- 优化了部分代码
- 优化了release之后的根路径选择,让项目尽量在次级目录上仍然可以使用。
- 修正了“测试注释”的符号改为 +,!,原来的#单行注释仍然保留
- 升级了UI引擎,使id在模块的根节点上仍然可以访问,这样用户不用可以使用dom关键字了。
- 升级了CSS解析器,让其可以匹配根节点的样式。
- 修正了多余引号引起的即时编译BUG。
- 修正了根节点引入自身的class类
- 修正了@override 的 id 覆盖不生效问题。
- 优化了引擎速度
- 修正了css标签的解析bug,之前版本当style设置为全局时候,样式无效果
- 增加了UI解析递归层级的限制,以前版本由无限循环问题。
- 优化了版本提示信息的内容。
- HTML的构造方式,原来的parent关键字改为@this。