uni-app 在 vue3 下 nvueLaunchMode为normal 时也不能访问vuex

uni-app 在 vue3 下 nvueLaunchMode为normal 时也不能访问vuex

产品分类:

uniapp/App

PC开发环境操作系统:

Windows

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

10

HBuilderX类型:

正式

HBuilderX版本号:

3.2.16

手机系统:

Android

手机系统版本号:

Android 11

手机厂商:

小米

手机机型:

小米10至尊 miui12.5.21.11.3开发版

页面类型:

vue

vue版本:

vue3

打包方式:

云端

项目创建方式:

HBuilderX

示例代码:

"nvueLaunchMode" : "normal"

操作步骤:

manifest.json这是vue版本为2,真机运行正常。设置vue版本为3,编辑器报错,真机无法运行

预期结果:

正常读取vuex内容,方便封装

实际结果:

异常,应用无法使用

bug描述:

vue3模式在首屏访问vuex数据的时候,编辑器报错

reportJSException >>>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->Uncaught TypeError: (0 , vue__WEBPACK_IMPORTED_MODULE_0__.reactive) is not a function

真机无法运行,在第二个tabbar访问没有。根据文档Nvue 首页快速启动模式来看

V3 + fast,vuex不可用。

因此将manifest.json中配置

"nvueLaunchMode" : "normal"

编辑器依旧报错,不能运行,此参数是否已经失效。代码见附件


更多关于uni-app 在 vue3 下 nvueLaunchMode为normal 时也不能访问vuex的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

我也遇到相同的问题

更多关于uni-app 在 vue3 下 nvueLaunchMode为normal 时也不能访问vuex的实战教程也可以访问 https://www.itying.com/category-93-b0.html


大佬你解决了吗

在 Vue3 下,nvueLaunchMode 设置为 normal 时仍无法访问 Vuex 的问题,通常与 Vue3 的响应式系统变更有关。Vue3 使用 reactiveref 替代 Vue2 的 Vue.observable,而 reactive 未定义错误表明 Vue3 的响应式模块可能未正确加载或初始化。

检查项目配置:

  1. 确保 manifest.json 中已正确配置 Vue 版本为 3,且依赖包(如 vuex@4.x 兼容 Vue3)已安装。
  2. main.js 或入口文件中,Vuex 需通过 createStore 创建,并使用 app.use(store) 挂载。

若问题持续,尝试清理项目并重新安装依赖(删除 node_modulespackage-lock.json,重新运行 npm install)。云端打包时,确保本地与云端环境一致。

此外,检查 nvue 页面中是否误用了 Vue2 语法(如 this.$store),在 Vue3 组合式 API 中,应使用 useStore 获取 store 实例。例如:

import { useStore } from 'vuex';
const store = useStore();
回到顶部