@wxmini/wxml-parser

1.0.1 • Public • Published

@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>;
}

Readme

Keywords

none

Package Sidebar

Install

npm i @wxmini/wxml-parser

Weekly Downloads

1

Version

1.0.1

License

ISC

Unpacked Size

20.9 kB

Total Files

10

Last publish

Collaborators

  • goumang2010