You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决JS压缩器报“Parse error. Primary expression expected.”语法错误?

JS压缩器"Parse error. Primary expression expected"错误分析与解决

错误原因

你代码里用的?.是ES2020新增的可选链操作符,但你的JS压缩器版本过旧(比如老版UglifyJS),不支持这个新语法。压缩器解析到wizard?.data?.start时,无法识别?.这个语法结构,就会抛出"Primary expression expected"的解析错误。

解决方法

方法1:替换为ES5兼容的写法

把可选链语法改成传统的短路判断,老压缩器就能正常解析:

$('#start-input-from').on('change', ()=>{
    if (wizard && wizard.data && wizard.data.start) {
        wizard.data.start = null;
    }
    validateInputFromToForm(wizard);
})

方法2:升级压缩工具

换成支持ES2020及以上语法的压缩工具,比如:

  • 升级UglifyJS到3.10.0及以上版本
  • 改用Terser(UglifyJS的替代工具,原生支持现代JS语法)

方法3:先转译代码

用Babel这类转译工具,把包含可选链的ES2020代码转成ES5语法,再交给压缩器处理。转译后代码会自动替换掉?.为兼容的判断逻辑,压缩器就能正常工作。

内容的提问来源于stack exchange,提问作者Murat K.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 19:16:03