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
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: 微信多少?
https://hx.dcloud.net.cn/Tutorial/configureEnvironmentVariables
参考这个设置下电脑node的环境变量
这个错误是由于HBuilderX内置的Node.js版本过低,不支持??=操作符导致的。解决方法有以下几种:
-
升级HBuilderX到最新版本(目前最新是4.57,可以检查是否有更新)
-
修改项目配置,在项目根目录的package.json中添加:
"dev:h5": "cross-env NODE_OPTIONS=--openssl-legacy-provider vite",