内容简介:Febit Wit 是一个 Java 平台下的模板引擎,语法类似 JavaScript,支持自定义函数,全局变量,Lambda 表达式,核心模块轻巧,无第三方依赖,采用BSD开源协议。 <dependency> <groupId>org.febit.wit<...
Febit Wit 是一个 Java 平台下的模板引擎,语法类似 JavaScript,支持自定义函数,全局变量,Lambda 表达式,核心模块轻巧,无第三方依赖,采用BSD开源协议。
<dependency> <groupId>org.febit.wit</groupId> <artifactId>wit-core</artifactId> <version>2.3.0-beta</version> </dependency>
发布一下 2.3.0-beta, 按照惯例, 看一下体积: 332.6KB (除了这个, 也没啥亮点了)
2.3.0-beta 也是新增了一些新特性:
支持模板字符串 ( ES6 中的 返单引号 )
声明 map 的一些增强
另外还简化了一些地方:
函数声明不再支持省略 function 后面的参数括号
import/include 传参不再支持提供一个表达式 (否则这个会和 map 的声明有语义冲突)
还有其他一些使用上无感知的简化(否则怎么可能体积比上个版本还小)
接下来看一下例子:
// == 新增: 模板字符串, 目前不支持嵌套哦 var str var id=9527, name="Mr Tang"; var jobs = { 9527: "Master" }; str = `awesome\t\n template ${1+2}, ${id}, ${name}, ${jobs[id]}${(()->",")()} ${((name)->{ var map={func:"bala..bala..bala"}; return "nested function: " + name + " - " + map[name]})("func")} .` // ParseException: Illegal character '`', not support nesting template string // str = `${`nested`}.` // === 增强: map 声明 var map = { id, // 只提供现有的变量名, 取名作为key, 取值作为值, 等同于 map["id"] = id name, // 同上, 等同于 等同于 map["name"] = name nickname: "wit", // 标识符作为 key, 提供的值作为值 1 : "a", // 直接量作为 key "1": "b", // 同上 '1': "c", // 同上 -1 : "d", // 同上 [ -1-1 ] : "e" // 表达式作为 key, 使用 [] 内的表达式的结果作为key, 等同于 map[-1-1] = "e" }; // === 简化: 函数声明 // var func = function { .... } // 上面的示例已经不支持了, 还是乖乖写上括号吧 var func = function () { .... } // lambda表达式也不错 var func = () -> { .... }
嗯, 就这么多, 后续还砍掉一些废柴特性
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上所述就是小编给大家介绍的《Wit 2.3.0-beta 发布,Java 模板引擎》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。