mac系统 使用vue3+ts新建的uni-app cli项目 通过HBuliderX运行到浏览器报错

mac系统 使用vue3+ts新建的uni-app cli项目 通过HBuliderX运行到浏览器报错

操作步骤:

mac系统 使用vue3+ts新建的cli项目 通过HBuliderX运行到浏览器报错, 我试了4台mac设备都有这个问题,使用终端运行 npm run dev:h5无问题 可以正常启动

预期结果:

希望正常启动

实际结果:

09:52:35.085 /Users/tianshuai/git/weshyper_dev_uniapp/node_modules/unimport/dist/shared/unimport.MMUMmZ45.cjs:424
09:52:35.085       importEntry.meta ??= {};
09:52:35.085                        ^^^
09:52:35.085 SyntaxError: Unexpected token '??='
09:52:35.085     at wrapSafe (internal/modules/cjs/loader.js:1001:16)
09:52:35.085     at Module._compile (internal/modules/cjs/loader.js:1049:27)
09:52:35.086     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
09:52:35.086     at Module.load (internal/modules/cjs/loader.js:950:32)
09:52:35.086     at Function.Module._load (internal/modules/cjs/loader.js:790:12)
09:52:35.086     at Module.require (internal/modules/cjs/loader.js:974:19)
09:52:35.086     at require (internal/modules/cjs/helpers.js:101:18)
09:52:35.086     at Object.<anonymous> (/Users/tianshuai/git/weshyper_dev_uniapp/node_modules/unimport/dist/shared/unimport.D6_N7ILk.cjs:3:23)
09:52:35.086     at Module._compile (internal/modules/cjs/loader.js:1085:14)
09:52:35.086     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
09:52:35.093 已停止运行...

bug描述:

09:52:35.085 /Users/tianshuai/git/weshyper_dev_uniapp/node_modules/unimport/dist/shared/unimport.MMUMmZ45.cjs:424
09:52:35.085       importEntry.meta ??= {};
09:52:35.085                        ^^^
09:52:35.085 SyntaxError: Unexpected token '??='
09:52:35.085     at wrapSafe (internal/modules/cjs/loader.js:1001:16)
09:52:35.085     at Module._compile (internal/modules/cjs/loader.js:1049:27)
09:52:35.086     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
09:52:35.086     at Module.load (internal/modules/cjs/loader.js:950:32)
09:52:35.086     at Function.Module._load (internal/modules/cjs/loader.js:790:12)
09:52:35.086     at Module.require (internal/modules/cjs/loader.js:974:19)
09:52:35.086     at require (internal/modules/cjs/helpers.js:101:18)
09:52:35.086     at Object.<anonymous> (/Users/tianshuai/git/weshyper_dev_uniapp/node_modules/unimport/dist/shared/unimport.D6_N7ILk.cjs:3:23)
09:52:35.086     at Module._compile (internal/modules/cjs/loader.js:1085:14)
09:52:35.086     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
09:52:35.093 已停止运行...

mac系统  使用vue3+ts新建的cli项目  通过HBuliderX运行到浏览器报错,  我试了4台mac设备都有这个问题,使用终端运行 npm run dev:h5无问题 可以正常启动  
信息类别 信息内容
产品分类 uniapp/H5
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 14.0 (23A344)
HBuilderX类型 正式
HBuilderX版本号 4.57
浏览器平台 Chrome
项目创建方式 HBuilderX

更多关于mac系统 使用vue3+ts新建的uni-app cli项目 通过HBuliderX运行到浏览器报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

32 回复

node_modules/@dcloudio/vite-plugin-uni/bin/uni.js 添加了日志console.log(1, process.version) 打印出来node版本为14.15.1 但是我本地实际终端 node -v 版本为20.18.3 得出结论 我hbuilder运行时使用的node版本号与我的实际终端版本不符 导致运行到浏览器报错

更多关于mac系统 使用vue3+ts新建的uni-app cli项目 通过HBuliderX运行到浏览器报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


我通过cli创建了一个vue3 + ts的项目,执行了 npm i 安装依赖,h5和微信小程序都能正常work,开发环境也是mac

或者手动修改下那块代码,改成兼容的语法
if (importEntry.meta == null) {
importEntry.meta = {};
}

稍等 我搞个最小复现demo发出来 我应该把demo放到哪里让你看?

回复 6***@qq.com: 评论区可以发附件

不光这一个问题,由于内置node版本过低,配置TypeScript-eslint 也会报错,

Failed to load plugin ‘@typescript-eslint’ declared in ‘.eslintrc.js’: Class extends value undefined is not a constructor or null

回复 6***@qq.com: 你什么版本的node

回复 DCloud_UNI_JBB: 我本机的node 是三个版本 使用nvm切换 分别为18.13.0 20.13.1 22.9.0 我使用终端什么问题都没有 只有使用hbuilder运行到浏览器才会有问题, 我找到了hbuilder包路径下的内置node 查看到他的版本是14.19.0 。 但是他的node里面packagejson显示的是18.20.1

回复 DCloud_UNI_JBB: 方便发个微信联系方式吗 我方便截图等

回复 6***@qq.com: 我用的node是 18.20.8 的,??= 这个语法我查了是要 15+ 就行

回复 6***@qq.com: 这个评论区就能发图片

回复 DCloud_UNI_JBB: 我知道这个语法是16以上就行 我现在最大的问题就是卡在hbuilder内置的 node版本不知道怎么升级

你要不要把hbuilderx升级到最新版本再试试

hbuilderx 多个版本都安装了, 电脑重启了 他自带的node我也用最新的替换了 都不行

我先尝试使用最小demo复现

回复 6***@qq.com: 我的电话是 13460036576,你发问题图到微信上吧

我升级了, 然后这个node版本号也是这个

4.57版本的hx运行也没问题

看最新的回复 有代码包 执行不起来

我用了新的 还是不行 这是我的代码

控制台看下node 版本

这是版本号 直接使用终端运行npm run dev:h5无问题


你的项目下面根目录没看见node_modules

回复 DCloud_UNI_JBB: 我是刚删了才发你的, 直接带着那个压缩 直接就文件太大不让上传附件了

你的demo我也能跑起来

现在问题就卡在这里了, 我认为我哪里都没问题 但是就是跑不起来, 导致我配置TypeScript-eslint也报错

回复 6***@qq.com: 加我微信聊

回复 6***@qq.com: 我从新卸载了hbuilderx 在重新装一次吧, 虽然我昨天已经卸载两次了

回复 DCloud_UNI_JBB: 微信多少?

这个错误是由于HBuilderX内置的Node.js版本过低,不支持??=操作符导致的。解决方法有以下几种:

  1. 升级HBuilderX到最新版本(目前最新是4.57,可以检查是否有更新)

  2. 修改项目配置,在项目根目录的package.json中添加:

"dev:h5": "cross-env NODE_OPTIONS=--openssl-legacy-provider vite",
回到顶部