Skip to content

安装

sh
$ npm install @yl_lowcode/transcoder
sh
$ yarn add @yl_lowcode/transcoder
sh
$ pnpm install @yl_lowcode/transcoder

将 JSONSchema 转 esModuleString

js
提供 getEsModuleString JSONSchema 转化为 esModuleString

excutecoder 解析 esModuleString

js
提供 excutecoder API 将得到的 esModuleString 字符串解析成 __esModule 对象底层基于 sucrase 处理编译

sucrase vs babel (为什么选 sucrase)

js
1. 体积

  @babel/standalone: ~2.5 MB (Minified)。sucrase: ~30 KB (Gzipped)。差距巨大Sucrase 几乎不增加包体积

2. 速度

  Sucrase 仅仅是移除类型转换 JSX”,它不构建完整的 AST抽象语法树),所以速度极快Babel 会进行完整的语法分析和降级速度较慢

3. 兼容性 (缺点):
  Babel 可以把 ES6+ 代码降级成 ES5 ( const -> var, async -> generator),能跑在 IE11
  Sucrase 不做语法降级它假设你的浏览器已经支持 const, arrow function, class 等现代语法。

渲染引擎 TranscoderAsync