UniApp + Vue3 使用 marked 报错:SyntaxError /[\p{L}\p{N}]/u 问题分析与解决

背景

在开发中接收SSE的markdown文本,需要使用库解决,就引入了marked库作为解析器。引入的是marked@4.3.0,在uniapp的vue2版本一切正常。当将该页面迁移到vue3版本就出现报错。

报错如下图所示:

问题分析

引入的marked,/[\p{L}\p{N}]/u语法,是需要​​运行在ES2018,Unicode 正则支持​ ,在vue3版本打包后没有对该语法进行处理,导致打包后运行在微信小程序出现报错,导致页面白屏。

解决方案

  1. 更换marked库
  2. 修改vite配置,语法降级
  3. 修改marked库源码

由于我是直接引入源文件放入分包中,因为直接使用npm引入,会打入主包。将该语法进行替换,根据自身情况进行替换:

我将其中:!e.match(/[\p{L}\p{N}]/u) ,修改为:!/[a-zA-Z0-9\u4e00-\u9fff]/.test(e)

测试后正常展示。

总结

最后总结一下,出现/[\p{L}\p{N}]/u 报错,可直接修改报错语法,根据自身进行适配处理。

相关推荐
跨境数据猎手5 分钟前
跨境电商系统三大 Web 漏洞的防护:SQL 注入、XSS、CSRF
前端·sql·xss
冒险的豆子40 分钟前
Proxy & Vue 响应式(合并精简版,适合面试)
前端·javascript·vue.js
Java后端的Ai之路1 小时前
前端技术Vue-18-视图中的渲染
前端·javascript·vue.js
程序员海军7 小时前
用了两年多 GPT,我最近开始换模型了,还折腾了个求职避坑 Agent
前端·人工智能·后端
zttbee8 小时前
echarts图表tooltip色块失效
前端·javascript·echarts
excel9 小时前
IndexNow:让搜索引擎更快发现网站更新的主动通知协议
前端·后端·架构
子兮曰10 小时前
CSS 复现 23 种设计风格:从拟物到液态玻璃的成本阶梯与兜底写法【实战】
前端·css·视觉设计
虚无境10 小时前
如何用AI帮我写出实用的插件
前端·javascript·ai编程
柳杉11 小时前
从数字化到数智化:3D 可视化大屏的下一个五年
前端·ai编程·数据可视化
风骏时光牛马12 小时前
从零到实战:AI全栈学习进阶路线
前端