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 报错,可直接修改报错语法,根据自身进行适配处理。

相关推荐
我是若尘29 分钟前
Harness Engineering:2026 年 AI 编程的核心战场
前端·后端·程序员
weixin199701080161 小时前
《快手商品详情页前端性能优化实战》
前端·性能优化
IT_陈寒2 小时前
折腾一天才明白:Vite的热更新为什么偶尔会罢工
前端·人工智能·后端
AI茶水间管理员3 小时前
学习ClaudeCode源码之Agent核心循环
前端·人工智能·后端
挖稀泥的工人3 小时前
AI聊天界面的布局细节和打字跟随方法
前端·javascript·面试
竹林8183 小时前
从“连接失败”到丝滑登录:我用 ethers.js 连接 MetaMask 的完整踩坑记录
前端·javascript
颜酱3 小时前
图片大模型实践:可灵(Kling)文生图前后端实现
前端·javascript·人工智能
木斯佳3 小时前
前端八股文面经大全:腾讯CSIG实习面(2026-04-10)·面经深度解析
前端·ai·xss·埋点·实习面经
夏暖冬凉3 小时前
npm发布流程(记录遇到的问题)
前端·npm·node.js
XPoet3 小时前
AI 编程工程化:Subagent——给你的 AI 员工打造协作助手
前端·后端·ai编程