uni-app 自定义基座static下的资源全部没有打进去
uni-app 自定义基座static下的资源全部没有打进去
操作步骤:
- 自定义基座
预期结果:
- static下的资源可以打进去
实际结果:
- static下的资源没有打进去
bug描述:
- 自定义基座产生的包static下的资源全部没有打进去
| 开发环境 | 版本号 | 项目创建方式 |
|------------------|--------|------------|
| PC开发环境操作系统 | Windows | |
| PC开发环境操作系统版本号 | windows10 | |
| HBuilderX类型 | 正式 | |
| HBuilderX版本号 | 3.98 | |
| 手机系统 | Android | |
| 手机系统版本号 | Android 10 | |
| 手机厂商 | 小米 | |
| 手机机型 | 小米8 | |
| 页面类型 | vue | |
| vue版本 | vue2 | |
| 打包方式 | 云端 | |
| 项目创建方式 | HBuilderX | |
打出来的结果如附件
有这些特定的目录么
没建特定目录
直接放在static目录下的
回复 8***@qq.com: 你用官方demo试下,你看你那有这个问题么,我刚试的我本地项目,没这问题
确认是传统打包还是安心打包?可以尝试使用传统打包方式看下问题是否还存在,如果还存在请提供appid和提交云端打包的时间。
如果是安心打包,安心打包是在本地将应用资源添加到apk中,这种情况请提供完整的HBuilderX操作日志。
用的HBuilder3.99版本,static目录有子目录,并且图片放入子目录,自定义基座打出的apk里面static里面的资源全没有了。3.87版本打出来就是好的,用的传统打包
在 uni-app 中,如果你使用自定义基座(Custom Base)时,发现 static
目录下的资源没有被打包进去,可能是以下几个原因导致的。你可以按照以下步骤进行排查和解决:
1. 检查 static
目录的位置
确保 static
目录位于项目的根目录下,而不是在 src
目录下。static
目录的正确位置应该是:
your-project/
├── src/
├── static/ <-- 确保 static 目录在这里
├── pages/
├── manifest.json
└── ...
2. 检查 static
目录的文件引用
确保你在代码中正确引用了 static
目录下的资源。引用时不需要加 static
前缀,直接使用相对路径即可。例如:
<image src="/static/logo.png"></image>
3. 检查 manifest.json
配置
在 manifest.json
中,确保没有配置错误导致 static
目录被忽略。通常不需要特别配置 static
目录,但你可以检查是否有其他配置影响了打包过程。
4. 检查 vue.config.js
配置
如果你在项目中使用了 vue.config.js
进行自定义配置,确保没有配置错误导致 static
目录被忽略。例如,确保没有错误地配置了 copy-webpack-plugin
或其他插件。
5. 清理缓存并重新打包
有时候,缓存可能会导致打包问题。你可以尝试清理缓存并重新打包:
# 清理缓存
rm -rf node_modules/.cache
# 重新安装依赖
npm install
# 重新打包
npm run build
6. 检查自定义基座的配置
如果你使用的是自定义基座,确保在自定义基座的配置中没有忽略 static
目录。你可以检查 manifest.json
中的 app-plus
或 h5
配置,确保没有错误配置。
7. 检查打包日志
在打包过程中,查看控制台输出的日志,看看是否有关于 static
目录的警告或错误信息。根据日志信息进行相应的调整。
8. 手动复制 static
目录
如果以上方法都无法解决问题,你可以尝试手动将 static
目录复制到打包后的输出目录中。虽然这不是一个理想的解决方案,但可以临时解决问题。
9. 更新 uni-app 版本
如果你使用的是较旧版本的 uni-app,可能存在一些已知的 bug。尝试更新到最新版本,看看问题是否得到解决。
npm update [@dcloudio](/user/dcloudio)/uni-app