vdm

a lightweight directive template of Virtual DOM

Usage no npm install needed!

<script type="module">
  import vdm from 'https://cdn.skypack.dev/vdm';
</script>

README

vdm

vdm是一个轻量级的指令型模板解决方案。具备局部刷新,双向绑定,指令扩展,filter过滤等功能。

如果你用过angular或者vue应该对指令(directive)这个概念不会陌生,angular大而全, vue精简了一部分留下了组件,而vdm在angular,react,vue的基础上,结合各自的特点专注于解决模板层面的问题。

与目前主要的框架相比,vdm具有以下特点:

  • 单一职责,vdm只负责解决模板问题。使用者可以单独使用,也可以跟任何其他框架结合使用。
  • 支持mustache风格的模板语法,很好的避免了指令写多了模板可读性差的问题。
  • 具有指令型框架的特点,扩展性强,功能强大,可以扩展自己的指令。同时支持filter与自定义watcher。
  • 具有virtual dom中间层,一方面加快了分析指令的速度,另一方面也为服务端渲染提供了可能。
  • 同时支持脏检测与defineproperty的数据检测机制。并且都是支持ie8的。在defineproperty模式下使用vbscript来做兼容处理。

详细文档,请见:http://vdmjs.github.io/vdm/doc/views/index.html

test

采用karma + jasmine做功能性测试,后期考虑使用nightwatch或者casper来做ui的e2e测试

npm test

build

项目使用webpack打包,在根目录执行:

npm run build