PowJS 更新至 2.2.0,Real-DOM 模板引擎创始者

综合技术 2018-05-18

PowJS 2.2.0 已发布,PowJS 是一个 ECMAScript 6 编译型 Real-DOM 模板引擎.

Real DOM 直接在 DOM Tree 上编译, 渲染. DOM Tree 就是模板.
原生语法 指令与 ECMAScript 原生语法对应
导出视图 采用 ECMAScript 源码
属性插值 name="something {{expr}}"
文本插值 剔除文本节点两端空白后对 {{expr}} 进行插值
缺省形参 顶层缺省形参为 (v, k)
形参传递 除非使用 param 指令, 子层继承上层的形参

只有 15K 的单文件实现模板的编译, 导出, 渲染, 一切都在真实的浏览器环境进行.

写模板就像写 JS 函数, 直视 My Folders 半成品, 自己动手完成事件和样式.

HTML string ---> Real DocumentFragment
                   |
                   V
Real Node   ---> PowJS  View
                   |
                   V
                 render(...args)
                   |
                   V
                 Real DocumentFragment ---> Real DOM

```

install

NodeJS 环境

yarn add powjs

浏览器环境

Change Log

该项目遵循 Semantic Versioning

2.2.0

  • 修复 exports 导出 BUG

  • 优化 toString 输出

  • 变更 if 指令取消尾部 || 规则, 优化为尾部 ; 判断

  • 增加 each 附加参数以及形参推导

2.1.1

  • 修复 each 形参推导 BUG

2.1.0

  • 修复 if 指令未能正确处理 #text string 的 BUG

  • 变更 isRoot 的判断算法, 为实时渲染提供基础

  • 增加 func 指令命名视图, 支持视图调用

  • 增加 形参推导, 参见 each-render 小节

  • 增加 isReal 返回当前节点是否连接到真实的页面 DOM 中

2.0.0

  • 变更 环境 ECMAScript 6

  • 变更 指令 if 融合渲染条件和可变标签

  • 变更 插值使用模板字符串 ${x}

  • 变更 toScript() 格式, 支持多节点模板

  • 变更 模块入口参数 option 格式

  • 移除 required(), outerHTML(), node(), view

  • 增加 多节点模板支持: Node,[Node],NodeList

  • 增加 属性 node, 当前渲染的节点

  • 增加 辅助方法 prop(propertyName[,v])

  • 增加 辅助方法 exports(target),lastChild(),isRoot(),query(selector)

  • 增加 节点操作 appendTo(node),renew(node),insertBefore(node),insertAfter(node)

1.1.0

  • 增加 .outerHTML 和插件支持

1.0.0

  • 第一个可用版本

开源中国

责编内容by:开源中国 (源链)。感谢您的支持!

您可能感兴趣的

阅读骑手Weex代码有感 学习背景 目前,在开发中会遇到这样的问题,每次项目出现一点问题,无论问题大小,都需要重新发布新版本,这样太不灵活方便,且给用户带来极差的体验。用户的感知是,这软件做的太差,经常更新。基于这样的缺点...
你不知道的简单数组拷贝方法全解 在我们的日常工作中,经常会遇到一些把一个值赋给另一个值,简单数据类型我们可以直接用=的方式进行简单值拷贝,那么遇到数组或者对象这些引用类型的拷贝应该怎么做呢?接下来简单总结了一些数组的浅拷贝和深...
fpEs – Functional Programming for EcmaScript... fpEs Functional Programming for EcmaScript(Javascript Why Originally I would like to have s...
JavaScript面向对象轻松入门之继承(demo by ES5、ES6)... 继承是面向对象很重要的一个概念,分为接口继承和实现继承,接口继承即为继承某个对象的方法,实现继承即为继承某个对象的属性。 JavvaScript 通过原型链来实现接口继承、 ca...
JavaScript Theory Quiz – Crack the ES6 Interview You might not know about me that I have conducted tech interviews with over 500 software developers ...