uni-app 支付宝小程序、百度小程序打包生成vendor.js路径问题
uni-app 支付宝小程序、百度小程序打包生成vendor.js路径问题
| 项目信息 | 详情 |
|---|---|
| 产品分类 | uniapp/小程序/阿里 |
| PC开发环境 | Mac |
| 操作系统版本号 | 11.0.1 |
| HBuilderX类型 | 正式 |
| HBuilderX版本号 | 3.1.22 |
| 第三方开发者工具版本号 | 支付宝2.1.9 |
| 基础库版本号 | 所有 |
| 项目创建方式 | HBuilderX |
操作步骤:
- 运行到支付宝小程序或者百度小程序,打包发行版也可以复现
预期结果:
-
- require(’./common/vendor.js’)
-
实际结果:
-
- require(‘common/vendor.js’)
- `
更多关于uni-app 支付宝小程序、百度小程序打包生成vendor.js路径问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
在uni-app中,支付宝和百度小程序打包后vendor.js路径缺少./前缀的问题,通常是由于构建工具在处理模块路径时产生的差异。
问题分析:
- 路径解析机制:支付宝和百度小程序的运行环境对模块路径解析规则可能与微信小程序存在差异
- 构建配置:HBuilderX在打包不同平台时可能应用了不同的路径处理策略
- 平台特性:各小程序平台对CommonJS模块规范的实现细节有所不同
解决方案:
方法一:修改构建配置
在vue.config.js(如使用CLI项目)或通过HBuilderX的manifest.json配置:
// 如果是CLI项目
module.exports = {
configureWebpack: {
output: {
publicPath: './'
}
}
}
方法二:检查路径别名配置 确保项目中的路径别名配置正确:
// 在适当的配置文件中
resolve: {
alias: {
'@': resolve('src'),
'common': resolve('src/common')
}
}
方法三:平台条件编译 对于特定平台使用条件编译处理路径:
// #ifdef MP-ALIPAY || MP-BAIDU
const vendorPath = './common/vendor.js'
// #endif
// #ifdef MP-WEIXIN
const vendorPath = 'common/vendor.js'
// #endif

