更新记录

1.0.7(2021-09-29)

v1.0.7

轻量包,未压缩 16k,压缩 4k 使用状态机编写词法分析 动态执行表达式 调用方法支持传入 Int 调用方法支持传入 String 支持传入多个参数 支持嵌套调用 语法错误检查 支持链式调用、链式访问


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 2.9.1 app-vue app-nvue
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

Ctxexp Parser

上下文表达式解析器

在不能动态执行 JS 语言的环境(微信小程序)里执行类 JS 的调用函数。

Feature

  • [x] 轻量包,未压缩 16k,压缩 4k
  • [x] 使用状态机编写词法分析
  • [x] 动态执行表达式
  • [x] 调用方法支持传入 Int
  • [x] 调用方法支持传入 String
  • [ ] 调用方法支持传入 Function
  • [x] 支持传入多个参数
  • [x] 支持嵌套调用
  • [x] 语法错误检查
  • [x] 支持链式调用、链式访问

Tip

  • 不支持在表达式中使用空格 如 $.fn(1, 2)

Install

npm i ctxexp-parser
# yarn add ctxexp-parser

Uses

import CtxexpParser from "ctxexp-parser";
// const CtxexpParser = require("ctxexp-parser");

const $ = {
  a: "hello",
  fn(str, str2) {
    return str + str2;
  },
};

const exp = `$.a`;

const res = new CtxexpParser($, exp).exec();

console.log(res); // hello

const exp1 = `$.fn($.a," cxtexp")`;

const res1 = new CtxexpParser($, exp1).exec();

console.log(res1); // hello cxtexp

查看更多例子

About

MIT License

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问