@wxmini/wxml-parser
v1.0.1
Published
wxml parser AST
Downloads
6
Readme
@wxmini/wxml-parser
转换后得到ast,修改后,可通过@wxmini/wxml-generator转回wxml
用法
const { parseAST } = require('@wxmini/wxml-parser');
var wxml = `<view class="cate-container">
<view class="cate" wx:for="{{cate}}" wx:key="index" wx:for-item="cateItem">
<view class="cate-label">{{cateItem.label}}</view>
<view class="cate-sub">
<view bindtap="jumpTo" class="subcate" wx:for="{{cateItem.subCate}}" wx:key="id" wx:for-item="subCateItem">
<view>{{subCateItem.label}}</view>
</view>
</view>
</view>
</view>`;
// 返回结果为根节点root
const result = parserAST(wxml);
AST
返回的结果为根节点root。
interface WxmlNode{
tag: string; // 标签名
attr?: { [x: string]: string | boolean }; // attr 对象,key为属性名,value为值, disable等属性value默认为true
children: Array<WxmlNode | string>; // 子节点可以为WxmlNode类型 ,也可以为文本字符串
unary: boolean; // 是否自闭合,如 <input />
}
// root代表根节点 ,tag为wx-body
interface Root {
tag: string;
attr: {};
children: Array<WxmlNode | string>;
}