国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

微信小程序拼接圖片鏈接無底洞深入探究

2024-07-22 01:17:34
字體:
來源:轉載
供稿:網友

背景

由于小程序包大小限制,我們一般都會將icon存放到cdn上。現在的開發流程需要在開發測試環境下圖片使用開發域名,線上使用生產域名。

問題重現

在小程序onLaunch的時候讀取配置文件獲取當前環境,并得到開發環境圖片域名:

./app.js

const { imgHostDev, imgHostProd, env } = require('./app.config.js')App({ onLaunch: function () { this.globalData.imageHost = env == 'dev' ? imgHostDev : imgHostProd }, globalData: { imageHost: '' }})

在頁面中:./pages/index/index.js

const app = getApp()Page({ data: { imgHost: '' }, onLoad: function () { this.setData({  imgHost: app.globalData.imageHost }) }})

./pages/index/index.wxml

<image src="{{imgHost}}/4jZ1L1qECEOsikW2JKsyHQ==/109951164304393164.jpg" mode="aspectFit"></image>

圖片渲染出來了,但是在開發者工具中有報錯

VM1334:1 Failed to load local image resource /4jZ1L1qECEOsikW2JKsyHQ==/109951164304393164.jpg
the server responded with a status of 500 (HTTP/1.1 500 Internal Server Error)

手機預覽就看不到圖片。。。

分析

看一下報錯信息,說本地不存在/4jZ1L1qECEOsikW2JKsyHQ==/109951164304393164.jpg這個文件。 也就是說頁面在執行onLoad之前就已經渲染了,這個時候imgHost值為空字符串,image的src拿到的圖片鏈接就是/4jZ1L1qECEOsikW2JKsyHQ==/109951164304393164.jpg,image標簽就以為這是本地圖片導致的。

修復

當然修復的方法有很多,

可以將imgHost在初始化的時候就賦值:

const app = getApp()Page({ data: { imgHost: app.globalData.imageHost }, onLoad: function () { }})

也可以在標簽中做判斷

<image src="{{imgHost ? imgHost + '/4jZ1L1qECEOsikW2JKsyHQ==/109951164304393164.jpg' : ''}}" mode="aspectFit"></image>

更多嘗試

之前都是渲染網絡圖片,如果讀取本地圖片更換不同文件夾中的同名圖片呢?發現也是如此。

如果圖片鏈接里有多個變量,就建議在wxs文件中寫一個方法來配置圖片

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對錯新站長站的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴和县| 枣庄市| 金寨县| 固镇县| 苗栗市| 武隆县| 宁晋县| 武强县| 南木林县| 喜德县| 循化| 肥乡县| 昆明市| 拉萨市| 呼伦贝尔市| 蛟河市| 聂荣县| 和平区| 昭觉县| 绥德县| 安乡县| 庆安县| 平塘县| 平邑县| 柞水县| 大关县| 盐城市| 鄂伦春自治旗| 纳雍县| 福州市| 筠连县| 台州市| 田林县| 辽阳县| 寿宁县| 万载县| 新乐市| 嵩明县| 泾源县| 北碚区| 阿巴嘎旗|