uni-app 自定义扩展的平台 自定义发行不生效
uni-app 自定义扩展的平台 自定义发行不生效
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | 11.5.2 | HBuilderX |
产品分类:uniapp/H5
浏览器平台:Chrome
浏览器版本:96.0.4664.93
示例代码:
"uni-app": {
"scripts": {
"h5-dev": {
"title": "测试环境",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"H5-DEV": true
}
}
}
}
请求js文件这样配置
// #ifdef H5-DEV
const BASE_URL = 'http://xxxxx.com'
console.log('H5-DEV',BASE_URL)
// #endif
// #ifndef H5-DEV
const BASE_URL = process.env.NODE_ENV =='development' ? 'http://xxx.com':'http://xxx.com'
console.log('非h5',BASE_URL)
// #endif
console.log(BASE_URL,"BASE_URL==")
export default BASE_URL
操作步骤:
点击自定义发行测试环境,没有运行到 H5-DEV
// #ifdef H5-DEV
const BASE_URL = 'http://xxxxx.com'
console.log('H5-DEV',BASE_URL)
// #endif
更多关于uni-app 自定义扩展的平台 自定义发行不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
HBuilderX -> 发行 ->自定义发行下没出现?
1、升级HBuilderX到最新版本
2、新建Hello uni-app项目,hello uni-app中有自定义的钉钉小程序平台示例,你可以参考。
更多关于uni-app 自定义扩展的平台 自定义发行不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
嗯,是版本问题
根据你的描述,问题在于自定义扩展平台的条件编译未生效。主要原因如下:
-
条件编译标识符命名问题:在
package.json的uni-app.scripts中定义的H5-DEV是自定义运行/发行配置的名称,但条件编译中使用的标识符需要与define中定义的属性名对应。你的配置中define定义了"H5-DEV": true,但条件编译标识符应为H5-DEV(注意:实际条件编译标识符会转换为全大写,但此处定义的是原始名称)。 -
运行方式问题:自定义运行/发行配置需要通过 HBuilderX 的“运行”或“发行”菜单选择对应配置执行,而不是直接运行默认配置。
解决方案:
修改 package.json 配置,确保条件编译标识符正确:
"uni-app": {
"scripts": {
"h5-dev": {
"title": "测试环境",
"env": {
"UNI_PLATFORM": "h5"
},
"define": {
"H5_DEV": true // 改为下划线命名,避免潜在解析问题
}
}
}
}
JS 文件中条件编译同步修改:
// #ifdef H5_DEV
const BASE_URL = 'http://xxxxx.com'
console.log('H5-DEV', BASE_URL)
// #endif
// #ifndef H5_DEV
const BASE_URL = process.env.NODE_ENV == 'development' ? 'http://xxx.com' : 'http://xxx.com'
console.log('非h5', BASE_URL)
// #endif

