uni-app vue3 使用vite编译到微信小程序端时pages.json不支持preloadRule分包预加载配置项

uni-app vue3 使用vite编译到微信小程序端时pages.json不支持preloadRule分包预加载配置项

开发环境 版本号 项目创建方式
Mac 12.0.1 HBuilderX
产品分类:uniapp/小程序/微信

PC开发环境操作系统:Mac

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

HBuilderX类型:Alpha

HBuilderX版本号:3.3.0

第三方开发者工具版本号:1.05.2110290

基础库版本号:2.21.0

项目创建方式:HBuilderX

### 示例代码:

```javascript
"preloadRule": {  
    "pages/home/index": {  
        "network": "all",  
        "packages": ["product", "search"]  
    },  
    "pages/cart/index": {  
        "network": "all",  
        "packages": ["order"]  
    },  
    "pages/order/order-preview/index": {  
        "network": "all",  
        "packages": ["address"]  
    },  
    "pages/my/index": {  
        "network": "all",  
        "packages": ["address", "order"]  
    },  
    "pages/login/index": {  
        "network": "all",  
        "packages": ["user"]  
    }  
},

操作步骤:

  • 增加preloadRule配置项编译到微信小程序端

预期结果:

  • 微信小程序端没有报错

实际结果:

  • 微信小程序端报错app.json文件内容错误

bug描述:

uni-app vue3 vite v2.6.14编译微信小程序端pages.json不支持preloadRule分包预加载配置项 微信开发工具IDE报错 [ app.json 文件内容错误] app.json: [“preloadRule”][“pages/home/index”][“packages”][0]: product/ 未找到 [“preloadRule”][“pages/home/index”][“packages”][1]: search/ 未找到 [“preloadRule”][“pages/cart/index”][“packages”][0]: order/ 未找到 [“preloadRule”][“pages/order/order-preview/index”][“packages”][0]: address/ 未找到 [“preloadRule”][“pages/my/index”][“packages”][0]: address/ 未找到 [“preloadRule”][“pages/my/index”][“packages”][1]: order/ 未找到 [“preloadRule”][“pages/login/index”][“packages”][0]: user/ 未找到 (env: macOS,mp,1.05.2110290; lib: 2.21.0)


更多关于uni-app vue3 使用vite编译到微信小程序端时pages.json不支持preloadRule分包预加载配置项的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

“plugins”: { “tfjsPlugin”: { “version”: “latest”, “provider”: “wx6afed118d9e81df9” } }
插件配置也不支持

更多关于uni-app vue3 使用vite编译到微信小程序端时pages.json不支持preloadRule分包预加载配置项的实战教程也可以访问 https://www.itying.com/category-93-b0.html


可以更新至最新的HBuilderX Alpha

在 uni-app Vue3 + Vite 环境下,pages.json 中的 preloadRule 配置项确实存在编译到微信小程序时的问题。这是因为 Vite 编译模式下,preloadRule 的配置方式与传统的 Webpack 模式有所不同。

问题原因: 在 Vite 编译模式下,preloadRule 中的 packages 字段需要指定完整的分包路径,而不是简单的分包名称。微信小程序要求 packages 字段的值必须是实际存在的分包路径。

解决方案: 修改 preloadRule 配置,将 packages 中的分包名称改为完整的分包路径:

"preloadRule": {
  "pages/home/index": {
    "network": "all",
    "packages": ["__APP__/product", "__APP__/search"]
  },
  "pages/cart/index": {
    "network": "all",
    "packages": ["__APP__/order"]
  },
  "pages/order/order-preview/index": {
    "network": "all",
    "packages": ["__APP__/address"]
  },
  "pages/my/index": {
    "network": "all",
    "packages": ["__APP__/address", "__APP__/order"]
  },
  "pages/login/index": {
    "network": "all",
    "packages": ["__APP__/user"]
  }
}
回到顶部