如何解决答题小程序大小超过2M的问题

近期开发了一款属于理科类的答题考试小程序,公式比较多,所以引用了katex 库。

katex 库的作用是解析 latex 公式生成虚拟 dom 树对象,将 dom 对象翻译成小程序的 rich-text 支持的 nodes 由小程序渲染。

但是,在答题小程序中不到5个页面会使用到这个库,使用频率并不高。由于 katex 库过大会大量占用小程序包体大小。

所以,就想到了分包这个解决方案。就是 katex 库放在分包中。

js文件

php 复制代码
const katex = require('../libs/katex/dist/katex.min.js')
const = latex:"x^2 + y^2 = z^2"
this.setData({
      nodes: katex.renderToString(latex, {
        displayMode: true, // 这个很重要,公式样式
        throwError: true, // 为true时,解析失败会抛出错误,否则会直接把错误信息解析为nodes结构展示
      })
});

wxml文件

xml 复制代码
<view class="container">
  <rich-text nodes="{{nodes}}"></rich-text>
  <view>{{latex}}</view>
  <textarea value="{{latex}}" bindinput="onInput" maxlength="1400"></textarea>
  <button bindtap="renderLatex">渲染</button>
</view>

wxss文件

scss 复制代码
@import "../libs/katex/dist/katex.wxss";
相关推荐
代码老y9 分钟前
前端开发中的可访问性设计:让互联网更包容
java·服务器·前端·数据库
白总Server28 分钟前
Golang dig框架与GraphQL的完美结合
java·大数据·前端·javascript·后端·go·graphql
m0_6799272035 分钟前
练习小项目11:鼠标跟随小圆点
前端·javascript·css·html
只可远观1 小时前
Flutter Android打包和发布Build APK
前端·flutter·dart
BillKu1 小时前
Vue3 + TypeScript 操作第三方库(Element Plus 的 ElTable)的内部属性
前端·javascript·typescript
嘉小华1 小时前
深入浅出Android SurfaceView:高性能绘制
前端
古夕1 小时前
webpack 之 Tree-shaking
前端·面试·webpack
沐森1 小时前
websockt vs sse
前端·ai编程
朕么办1 小时前
微信原生开发的程序员有福了,推荐两款插件让你VScode支持WXML Emmet
前端
风铃喵游1 小时前
Axion: 一次搞定axios请求库的各种能力封装
前端