简单讲解关于微信小步调调解 miniprogram 后, tabbar 找不到图片的原因之 ...

打印 上一主题 下一主题

主题 828|帖子 828|积分 2484

简单讲解关于调解 miniprogram 后, tabbar 找不到图片的原因之一

问题出现的原因


  • 当我开发微信小步调一段时间后,就准备使用npm导包依赖第三方库,导包之前就调解了一下项目结构,把所有源码放到 miniprogram 文件夹下,在project.config.json中配置了 "miniprogramRoot": "miniprogram/",项目此时是正常的。
  • 当我把图片也归整了一下,把tabbar图片,从 /miniprogram/images/ 文件夹下,迁移到新建的 /miniprogram/assets/tabbar/ 文件夹下,在 app.json 中的 tabbar 位置修改了图片路径,再次编译,此时就报错了
错误提示

[ miniprogram/app.json 文件内容错误] miniprogram/app.json: ["tabBar"]["list"][0]["iconPath"]: "/miniprogram/assets/tabbar/icon_main_home.png" 未找到 ... ...
修改之前的代码片段:
  1. "list": [
  2.       {
  3.         "pagePath": "pages/main-home/home",
  4.         "text": "首页",
  5.         "iconPath": "images/icon_main_home.png",
  6.         "selectedIconPath": "images/icon_main_home_active.png"
  7.       },
  8.       {
  9.         "pagePath": "pages/main-mine/mine",
  10.         "text": "我的",
  11.         "iconPath": "images/icon_main_mine.png",
  12.         "selectedIconPath": "images/icon_main_mine_active.png"
  13.       }
  14.     ],
复制代码
调解源码到 miniprogram 文件夹,并且又调解了图片目次结构,此时报错了,代码片段:
  1. "list": [
  2.       {
  3.         "pagePath": "pages/main-home/home",
  4.         "text": "首页",
  5.         "iconPath": "/miniprogram/assets/tabbar/icon_main_home.png",
  6.         "selectedIconPath": "/miniprogram/assets/tabbar/icon_main_home_active.png"
  7.       },
  8.       {
  9.         "pagePath": "pages/main-mine/mine",
  10.         "text": "我的",
  11.         "iconPath": "/miniprogram/assets/tabbar/icon_main_mine.png",
  12.         "selectedIconPath": "/miniprogram/assets/tabbar/icon_main_mine_active.png"
  13.       }
  14.     ],
复制代码
出现错误疑惑点


  • 路径完全正确
  • 点击图片路径也能正常跳转到图片
  • 看着与调解项目之前并没什么区别
  • 不能使用 ../ 调用父级,我就使用 / 直接从文件根目次写
以上几点是我一开始以为,什么都对了,什么也都试了,为什么还堕落误呢?
错误原因


  • 调解项目后,在 project.config.json 中配置了 "miniprogramRoot": "miniprogram/" ,此时的根目次就是当前 app.json 的位置,asset 文件夹与 app.json 文件同级。
  • 在 "/miniprogram/assets/tabbar/icon_main_home.png" 配置中的地点第一个 / 代表的就是miniprogram/ ,把当前配置项的图片地点翻译完整为 miniprogram/miniprogram/assets/tabbar/icon_main_home.png
故而微信开发者工具提示图片未找到的错误
正确写法


  • 由于项目标根目次已经在 project.config.json 中配置了 "miniprogramRoot": "miniprogram/" ,项目根路径 / 就代表是 miniprogram/ 文件夹。
  • 又由于 app.json 配置文件 与 assets 文件夹在同级,在 app.json 配置文件中,tabbar 图片路径地点可直接写 assets/tabbar/icon_main_home.png,大概在地点前添加 ./ 或 / 就可以了。
正确的代码片段:
  1. "list": [
  2.       {
  3.         "pagePath": "pages/main-home/home",
  4.         "text": "首页",
  5.         "iconPath": "assets/tabbar/icon_main_home.png",
  6.         "selectedIconPath": "assets/tabbar/icon_main_home_active.png"
  7.       },
  8.       {
  9.         "pagePath": "pages/main-mine/mine",
  10.         "text": "我的",
  11.         "iconPath": "assets/tabbar/icon_main_mine.png",
  12.         "selectedIconPath": "assets/tabbar/icon_main_mine_active.png"
  13.       }
  14.     ],
复制代码
总结


  • 在 project.config.json 中配置了 "miniprogramRoot": "miniprogram/" ,就代表小步调的根目次为 miniprogram/
  • 在开发项目时,使用 / 对资源文件的调用,就指的是 miniprogram/ 文件夹
  • 在相识配置的真正寄义,并充实相识配置所带来的项目变革,掌握其开发规范,以及留意事项,在开发过程中,就会避免踩很多坑

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

民工心事

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表