uni-app安卓app真机调试无问题,云打包和离线打包后报错:__VUE_PROD_DEVTOOLS__ not defined

uni-app安卓app真机调试无问题,云打包和离线打包后报错:VUE_PROD_DEVTOOLS not defined

开发环境 版本号 项目创建方式
vue3

基于vue3版本安卓app,运行到安卓app基座可以正常运行,但云打包或者离线打包成apk后,安装到真机上提示VUE_PROD_DEVTOOLS not define

1 回复

更多关于uni-app安卓app真机调试无问题,云打包和离线打包后报错:__VUE_PROD_DEVTOOLS__ not defined的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在 uni-app 开发中,如果你在真机调试时没有问题,但在云打包或离线打包后出现 __VUE_PROD_DEVTOOLS__ not defined 的错误,这通常是由于 Vue 的生产环境配置问题引起的。__VUE_PROD_DEVTOOLS__ 是一个 Vue 3 中的全局变量,用于控制生产环境下是否启用 Vue Devtools。

解决方案

方法 1:检查 Vue 版本和配置

  1. 确保 Vue 版本一致性:如果你使用的是 Vue 3,确保你的项目中 Vue 的版本是 3.x,并且与 uni-app 的版本兼容。
  2. 检查构建配置:在 vue.config.jsvite.config.js 中,确保生产环境的构建配置正确。特别是与 __VUE_PROD_DEVTOOLS__ 相关的配置。

方法 2:手动定义 __VUE_PROD_DEVTOOLS__

在项目的入口文件(如 main.jsmain.ts)中,手动定义 __VUE_PROD_DEVTOOLS__ 变量:

// main.js 或 main.ts
if (process.env.NODE_ENV === 'production') {
  window.__VUE_PROD_DEVTOOLS__ = false; // 或者 true,根据需要
}

方法 3:修改 webpack 配置(如果使用的是 webpack)

如果你使用的是 webpack 进行打包,可以在 vue.config.js 中通过 DefinePlugin 来定义 __VUE_PROD_DEVTOOLS__ 变量:

// vue.config.js
const webpack = require('webpack');

module.exports = {
  configureWebpack: {
    plugins: [
      new webpack.DefinePlugin({
        __VUE_PROD_DEVTOOLS__: JSON.stringify(false) // 或者 true,根据需要
      })
    ]
  }
};

方法 4:检查 uni-app 配置

manifest.json 中检查是否有与 Vue 相关的配置项,特别是与生产环境相关的配置。

方法 5:清理缓存并重新打包

有时候构建缓存可能会导致问题,尝试清理构建缓存并重新打包:

# 清理缓存
rm -rf node_modules
rm -rf dist
rm -rf .cache

# 重新安装依赖
npm install

# 重新打包
npm run build
回到顶部