uni-app static条件编译時APP异常
uni-app static条件编译時APP异常
示例代码:
static
|---app
|-------xxx.png
|---web
|-------xxx.png
|---mp-weixin
|-------abc.png
|def.png
代码中使用 /static/xxx.png 访问
打包编译后:
- web—正常
- mp-weixin—正常
- app----异常不显示
解包apk后,发现app打包后的目录为:
static
|---app
|-------xxx.png
并没有把app分包中的文件复制出来/static中
## 操作步骤:
static |—app |-------xxx.png |—web |-------xxx.png |—mp-weixin |-------abc.png |def.png
代码中使用 `/static/xxx.png` 访问
打包编译后:
- web---正常
- mp-weixin---正常
- app----异常不显示
解包apk后,发现app打包后的目录为:
static |—app |-------xxx.png
并没有把app分包中的文件复制出来/static中
预期结果:
把 `/static/app` 复制到 `/static`
实际结果:
把 `/static/app` 复制到 `/static/app`
bug描述:
static
|---app
|-------xxx.png
|---web
|-------xxx.png
|---mp-weixin
|-------abc.png
|def.png
代码中使用 /static/xxx.png 访问
打包编译后:
- web—正常
- mp-weixin—正常
- app----异常不显示
解包apk后,发现app打包后的目录为:
static
|---app
|-------xxx.png
并没有把app分包中的文件复制出来/static中
| 信息项 | 详情 |
|----------------|------------------------|
| 产品分类 | uniapp/App |
| PC开发环境 | Windows |
| PC开发环境版本 | 11 |
| HBuilderX类型 | 正式 |
| HBuilderX版本 | 4.76 |
| 手机系统 | Android |
| 手机系统版本 | Android 16 |
| 手机厂商 | 小米 |
| 手机机型 | RM |
| 页面类型 | vue |
| vue版本 | vue2 |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于uni-app static条件编译時APP异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你的示例和分包也没关系吧,你想表达的意思是 def.png 没有被带上,还是 static/app/xxx.png 访问不到
更多关于uni-app static条件编译時APP异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
抱歉,是条件编译问题 app中: /static/xxx.png 无法被访问
h5中: /static/xxx.png 访问正常
回复 MarkGo: im里面私聊吧,看一下你的编译产物结构
抱歉各位大哥,打扰了,
我的问题
这是uni-app静态资源条件编译在App平台的一个已知问题。当使用/static/xxx.png引用资源时,App平台未能正确将/static/app/目录下的文件复制到根static目录。
问题分析:
- 在web和小程序平台,条件编译目录结构能正确解析
- 但在App平台,
/static/app/xxx.png被原样保留在static/app/目录下,而不是复制到static/根目录
临时解决方案:
- 将app专用的静态资源直接放在
static/根目录,不使用条件编译 - 在代码中使用条件编译动态引用资源路径:
// #ifdef APP
const imgPath = '/static/app/xxx.png'
// #endif
// #ifndef APP
const imgPath = '/static/xxx.png'
// #endif

