uni-app 3.99版本打包微信小程序报错,无插件时可正常显示

发布于 1周前 作者 caililin 来自 Uni-App

uni-app 3.99版本打包微信小程序报错,无插件时可正常显示

产品分类

uniapp/小程序/微信

开发环境信息

项目 详情
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 13.3.1
HBuilderX类型 正式
HBuilderX版本号 3.99
第三方开发者工具版本号 1.06.2404301
基础库版本号 3.3.3
项目创建方式 HBuilderX

示例代码

"mp-weixin" : {
  "appid" : "****",
  "plugins" : {
    "materialPlugin" : {
      "version" : "1.0.8",
      "provider" : "wx4d2deeab3aed6e5a"
    },
    "contactPlugin" : {
      "version" : "1.4.7",
      "provider" : "wx104a1a20c3f81ec2"
    }
  },
  "permission" : {
    "scope.userLocation" : {
      "desc" : "为了更好地使用消费券服务,请允许肽家商城使用定位权限"
    }
  },
  "requiredPrivateInfos" : [ "getLocation", "chooseLocation" ],
  "setting" : {
    "urlCheck" : false,
    "minified" : true
  },
  "optimization" : {
    "subPackages" : true
  },
  "usingComponents" : true,
  "usePrivacyCheck" : true,
  "libVersion" : "latest",
  "embeddedAppIdList" : [ "wxee6b280a04f40ebe", "wx30d75b2710b7beec" ] // 要半屏跳转的小程序appid
}

操作步骤

manifest中配置代码示例内容,使用对应版本工具打包即可复现。

预期结果

页面正常打开

实际结果

页面空白,console报错
Error during evaluating file “app.js”:
Reflect.apply requires the first argument be a function
apply@[native code]
@https://usr//app-service.js:7083:318639

bug描述

HBuilerX工具版本:3.9.9
打包到微信小程序端,微信开发者工具页面展示正常。手机真机打开,显示空白页面。console报错


3 回复

这个问题没人回复?没人修复的嘛?


请问你这个问题有解决吗?我使用网易易盾的插件,运行时就报错

针对你提到的uni-app 3.99版本在打包微信小程序时出现报错,但在无插件情况下可以正常显示的问题,这通常与插件配置、依赖版本冲突或小程序特定的限制有关。以下是一些可能的解决方案,结合代码示例来展示如何排查和解决问题。

1. 检查manifest.json配置

首先,确保manifest.json中关于微信小程序的配置是正确的。特别是mp-weixin部分,检查是否有不兼容的配置项。

{
  "mp-weixin": {
    "appid": "your-appid",
    "setting": {
      "urlCheck": false, // 关闭URL校验,有助于调试
      "es6": true,       // 启用ES6语法
      "enhance": true,   // 增强编译
      "debug": true      // 调试模式
    },
    "plugins": {}        // 确保插件配置正确,无错误
  }
}

2. 清理项目依赖

有时候,依赖包可能会损坏或版本冲突,尝试清理并重新安装依赖。

# 删除node_modules和package-lock.json
rm -rf node_modules package-lock.json

# 重新安装依赖
npm install

3. 检查并更新插件

如果你使用了第三方插件,确保它们是最新的,或者至少是与uni-app 3.99版本兼容的。

// 在manifest.json中检查插件版本
"plugins": {
  "your-plugin-name": {
    "version": "compatible-version",
    "provider": "plugin-provider"
  }
}

4. 使用条件编译

如果问题依旧存在,可以尝试使用条件编译来区分开发和生产环境,看是否有特定代码块导致问题。

// 在需要条件编译的代码块前后添加
// #ifdef MP-WEIXIN
// 特定于微信小程序的代码
// #endif

5. 查看编译日志

详细查看编译过程中的日志输出,寻找可能的错误信息或警告。

# 编译时加上--verbose标志获取更详细的输出
npm run dev:mp-weixin -- --verbose

6. 提交问题到社区或官方

如果以上步骤都无法解决问题,建议将问题提交到uni-app的GitHub仓库或相关社区,提供详细的错误日志和复现步骤。


以上步骤涵盖了从配置检查、依赖管理到条件编译等多个方面,希望能帮助你定位并解决打包微信小程序时遇到的问题。如果问题依旧存在,请确保提交足够的信息以便他人协助解决。

回到顶部