小小菜76055421
小小菜76055421
  • 发布:2022-08-10 18:20
  • 更新:2023-05-18 14:24
  • 阅读:2111

【报Bug】uniapp对于??空值合并运算符 报错

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows10

HBuilderX类型: 正式

HBuilderX版本号: 3.5.4

浏览器平台: Chrome

浏览器版本: 97.0.4692.99

项目创建方式: HBuilderX

示例代码:

const cache = options.cache ?? new SplitVendorChunkCache();

操作步骤:

const cache = options.cache ?? new SplitVendorChunkCache();

预期结果:

正常执行代码

实际结果:

执行到这里,报错:SyntaxError: Unexpected token '?'

bug描述:

const cache = options.cache ?? new SplitVendorChunkCache();
类似这种语法,运行时,报 SyntaxError: Unexpected token '?'

2022-08-10 18:20 负责人:无 分享
已邀请:
9***@qq.com

9***@qq.com

项目中运行 npm i -D vite@2.9
把自己的 vite 版本降低到 2.9 就行了

DCloud_UNI_WZF

DCloud_UNI_WZF

node 版本多少?
?? 运行符低版本 node 不支持,这边测试14 及以上没有问题

  • 小小菜76055421 (作者)

    16,是安装了个vite-plugin-pwa插件,这个插件里的文件报出来的错误

    2022-08-11 14:56

小小菜76055421

小小菜76055421 (作者)

报错的截图

  • DCloud_UNI_WZF

    问题已确认,可能是有兼容问题。

    测试 cli 创建 vue3 项目引入该插件没有问题,如果是新项目,可通过cli 创建项目引入该插件规避当前问题。

    2022-08-11 15:21

  • 小小菜76055421 (作者)

    回复 DCloud_UNI_WZF: hx创建的项目,怎么修改

    2022-08-11 15:28

  • DCloud_UNI_WZF

    回复 小小菜76055421: 造成报错的原因是HBuilderX 内置的node版本较低(12),目前没有太好的办法

    或者可以尝试修改该插件中的高级语法,但是不确定是否完全可行

    2022-08-11 16:51

  • 小小菜76055421 (作者)

    回复 DCloud_UNI_WZF: ?.链接运算符都报错,无语了

    2022-08-11 17:41

  • 一顾倾人诚

    回复 小小菜76055421: ?. 要vue3 才支持 vue2 不支持的, 我这里?. 没问题

    2022-08-11 17:51

  • 小小菜76055421 (作者)

    回复 一顾倾人诚: 是vue3,页面中没问题,下载的包中运行报错

    2022-08-11 18:00

2***@qq.com

2***@qq.com

可以在工具-》外部命令->运行配置 中设置node外部版本
或者不使用hbuilderx的运行命令,在终端直接运行npm命令来运行项目,可解决此问题

  • 小小菜76055421 (作者)

    设置了node外部版本,还是会报错;hx创建的项目,用啥命令来运行项目

    2022-08-15 09:53

  • 2***@qq.com

    回复 小小菜76055421: package.json有,npm run dev:mp-weixin

    2022-08-15 13:13

  • 小小菜76055421 (作者)

    回复 2***@qq.com: 应该是cli创建的项目,才可以用命令行吧

    2022-08-15 13:26

  • 小小菜76055421 (作者)

    我运行run dev会报错的,需要配置啥的

    2022-08-15 13:27

1***@qq.com

1***@qq.com

来了,我也有这个错误

x***@foxmail.com

x***@foxmail.com

解决了吗?

4***@qq.com

4***@qq.com

请问有解决吗

  • 小小菜76055421 (作者)

    没有,技术说用cli

    2022-09-21 15:26

  • f***@tom.com

    回复 小小菜76055421: 你好,我今天也遇到了,不过我的是通过cli安装的,也会报错,请问你的问题有得到解决吗?因为通过cli安装的现在是2.9版本的vite,通过gitee下载的一个模板,是最新版本的vite。进行初始化后效果其实是一样的,但是windows电脑是好的,mac电脑会报错

    2022-11-09 09:20

  • 小小菜76055421 (作者)

    回复 f***@tom.com: 没用mac构建,windows,用cli构建的,vite2.9没啥问题

    2022-11-09 10:57

  • f***@tom.com

    回复 小小菜76055421: 我的解决了,因为没有用alpha版本的HBuilder去编译造成的

    2022-11-10 08:45

  • 小小菜76055421 (作者)

    回复 f***@tom.com: alpha可能node版本升级到15了

    2022-11-10 10:01

z***@163.com

z***@163.com

折腾了一下午解决了。。。。

看我个性网址

看我个性网址

2023年了,现在还有这个问题么?
我目前是运行的时候没问题,debug的时候就出问题了


一脸懵,排查了好久才定位到是因为空值合并运算符(??)造成的

要回复问题请先登录注册