强烈推荐的微信小程序开发总结

强烈推荐的微信小程序开发总结

遇到过的坑

小程序页面栈最多十层

问题:假设小程序内有12个问题页面,答完上一个问题后wx.navigateTo到下一个问题页面,那么到第十题时,你会发现wx.navigateTo跳转不到下一个页面。这是因为使用wx.navigateTo跳转会把当前页面保存到页面栈中,而小程序页面栈最多十层。

require的路径不支持绝对路径

问题:在嵌套比较深的目录层级里,引用utils/request.js,需要慢慢../到根目录

// in page.js
const util = require('../../../../utils/util.js');
复制代码

解决:在App绑定require,Page里获取app,直接 app.require 引入

// in app.js
App({
  onLaunch() {
    
  },
  require(path) {
    return require(`${path}`)
  },
})

// in page.js
const app = getApp()
const util = app.require('./utils/util.js');
复制代码

一些兼容问题

IOS 的 Date 构造函数 不支持2018-04-26这种格式的日期,必须转换为2018/04/26这种格式,可以使用 dayjs 处理

image组件使用webp图片时,IOS需要设置webp属性

Android手📱机在onShow内调用 wx.showModal ,如果不关闭弹窗(直接点击右上角退出小程序),弹窗不会销毁,再次进入页面触发onShow时会出现两次弹窗,IOS正常

IOS 内 page-container 内嵌套 van-popup 类弹出层容器,会出现弹出层 z-index失效 问题,可以根据弹出层显示隐藏动态更改page-container 的 custom-style 设置 -webkit-overflow-scrolling属性

小程序中使用 web-view打开pdf , IOS 可以正常打开,Android 打开为空白

解决:使用wx.downloadFile和wx.openDocument

wx.downloadFile({
  url: 'https://.../XXX.pdf', //要预览的 PDF 的地址
  success: function (res) {
    if (res.statusCode === 200) { //成功
      var Path = res.tempFilePath //返回的文件临时地址,用于后面打开本地预览所用
      wx.openDocument({
        fileType: 'pdf', // 文件类型
        filePath: Path, //要打开的文件路径
        success: function (res) {
          console.log('打开 PDF 成功');
        }
      })
    }
  },
  fail: function (err) {
    console.log(err); //失败
  }
})
复制代码

拓展库和插件

UI 组件库

Vant Weapp 有赞开源小程序组件库

TDesign TDesign vx小程序组件库

小程序官方拓展库

miniprogram-api-promise 扩展小程序api支持promise

recycle-view 长列表组件

wxml-to-canvas 小程序内通过静态模板和样式绘制 canvas ,导出图片,可用于生成分享图等场景

miniprogram-component-plus 包含vtabsselect-text、sticky等组件

lottie-miniprogram lottie 动画库适配小程序的版本

vx同声传译 语音输入,文本翻译插件

其他

towxml 可将HTMLMarkdown转为vx小程序WXML

mp-html 小程序富文本组件

性能优化

vx官方文档-性能与体验 章节具体介绍了小程序的优化手段

代码包体积优化

启动性能优化最直接的手段是 降低代码包大小,推荐所有小程序使用合理使用分包加载,将小程序的页面按使用频率和场景拆分成不同分包,实现代码包的按需加载

代码注入优化

推荐所有小程序通过开启「按需注入」特性避免不必要的代码注入和执行,以降低小程序的启动时间和运行时内存

// in app.json
{
  "lazyCodeLoading": "requiredComponents"
}
复制代码

图片渲染优化

  • 利用压缩技术对图片进行压缩,在图片显示质量不受太大影响的情况下,可以对图片进行适度压缩,可以使用 tinypngsquoosh等工具
  • 小程序Image组件支持通过配置lazy-load参数来实现 懒加载
  • 利用cdn服务商(阿里云OSS)提供的能力获取适当的图片,支持格式转换、质量变换、尺寸处理
  • 使用webp格式的图片

// in app.wxs 利用阿里云oss提供的服务转换图片格式
var wrapUrl = function (url) {
  var fConfig = '?x-oss-process=image/format,webp'
  return url + fConfig
}

// in wxml
<image webp src="{{ tools.wrapUrl(url) }}"  />

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。商机网仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 tenspace2022@163.com 举报,一经查实,本站将立刻删除。 本文链接:https://www.315965.com/n/54930.html 聚才发 母婴好物

(0)
上一篇 2023年12月17日 上午6:35
下一篇 2023年12月17日 上午6:44

相关推荐

  • App制作教程步骤(app制作入门教程)

    一、前言 移动web时代,手📱机的兴起使得大部分在手📱机上的应用开发变得如火如荼,然而传统的app开发需要掌握的知识点繁多,开发周期特别漫长,为了解决这个问题,webapp应运而生,它使得app开发的难度大幅度降低,只要你懂前端就可以开发app;然而由于技术的更迭,不光出现了app,还有小程序以及一些网站,于是,很多人瞄准了多端应用市场,所谓多端指的是一套代…

    2023年7月30日
    242
  • 尤克里里零基础入门(尤克里里零基础入门自学)

    尤克里里入门很容易,但学精髓还是很难。至于手指不灵活的问题,因为四弦琴很小,跨度很小,我觉得不是问题。网上有很多教学视频,很容易找到。 最重要的是养成拿起钢琴的好习惯。首先要做的是使用调谐器。如果你将来熟练了,你可以用耳朵听。但是,为了准确起见,建议初学者始终使用调谐器。应该有一些理论方面的,比如钢琴的作曲,每根弦的标准音高,各个部分的名称,弹钢琴时握琴的姿…

    2023年7月31日
    215
  • PGO 是啥,咋就让 Go 更快更猛了?

    PGO 是什么 Profile-guided optimization (PGO),翻译过来是使用配置文件引导的优化。也被称为: profile-directed feedback(PDF) feedback-directed optimization(FDO) PGO 是计算机编程中的一种编译器优化技术,使用分析来提高程序运行时性能。也就是可以提高 Go …

    2023年12月16日
    165
  • word教程零基础教程(新手如何使用word文档)

    Hi!今天专门出一期,零基础也能快速掌握的“word”使用晓技巧,即便你已经是word“老司机”也推荐你一同往下看看哦! 虽然这些功能没有“花里胡哨”的复杂操作,但重实用性上看,妥妥是许多人日常需要用到的! (PS:结尾有惊喜哦!) 01、查找与替换 “查找与替换”作为word中有个比较基础的功能,虽然看起来平平无奇,但实际在检查文章,纠正用词,快速处理空格…

    2023年7月30日
    417
  • 电脑办公软件基础知识教程(零基础学电脑办公软件)

    在信息化快速发展的今天,电脑已普及到千家万户,用电脑上网和用来娱乐已经成为人们平时的一种生活习惯。 为了进一步充实我们的生活,仅仅学会上网,已经不能满足我们对电脑使用的需求,学习一些常用的办公软件,也是很有必要的。 那么作为电脑小白应该学习哪些常用软件呢?在网络普及以前,人们普遍运用书写方式来记载东西。在网络飞速发展的今天,大部分人的生活习惯已有了截然不同的…

    2023年7月31日
    296
  • solidworks入门基础教程(solidworks快速入门)

    入门前我们首先要熟悉一下,sw的一些基本操作,比如文件操作、界面、鼠标等基本操作,我们只有把这些基本操作搞明白,才能学好、学透软件。 一、入口界面介绍 打开软件后,新安装的软件默认弹出下图界面,框中列出了软件的三个基本模块,包括零件、装配体、工程图等,这是所有三维软件的三个基本功能,点击相应的按钮即可进入相应模块进行相应工作。 当软件使用久了后,可能打开软件…

    2023年7月30日
    617
  • photoshop去水印教程图解(ps如何去水印视频教程)

    ps怎么去水印无痕迹背景不变?小编带来了详细步骤图解。 by the way,如果你觉得PS太复杂,也可以使用水印云去水印软件,效果不输PS,操作更简单,手📱机电脑通用,只需涂抹一下,水印就消失了! 方法一: 1、用工具栏中的选框工具进行选区。 2、点击选择中的色彩范围。 3、点击选择中的修改子选项扩展。 4、按CTRL+F5进行内容识别填充。 5、根据以上…

    2023年8月1日
    358
  • 黑苹果安装教程2024(黑苹果安装教程详细)

    黑苹果安装步骤 上一篇内容我们讲到了安装黑苹果前的所有准备步骤,正式安装的时候插入提前制作好的 U盘 电脑开机之后连续按 F12 键,在启动项的页面我们选择 U盘 启动。 选择 U盘 引导启动之后回车执行,来到如下图显示的引导界面之后我们选择苹果图标并回车进入。 在进入到如上图的界面之后需要一段时间的等待,而这里也是最容易出问题的地方,就是我们常说的卡代码。…

    2023年7月30日
    387
  • 初学编程100个代码大全(新手编程代码大全)

    我记得刚开始接触编程的时候,觉得太难了。 也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧? 他们是怎么记住这么多代码格式的?而且错了一个标点符号,整个程序都会有影响。 一个程序几千行,错一个标点符号都不行这也太难了吧? 带着新手的灵魂拷问,作为从业单片机编程10年的开发者,我来为大家拨开云雾。 看完以后你就会明白,其实他们也没那么…

    2023年7月31日
    1.4K
  • 谈谈 WMTS 中的 TileMatrix 与 ScaleDenominator

    其实有时间琢磨规范文档的话,倒也不必费时间自己琢磨,这篇算是一些口水话心得。 规范文档指路:OGC Standard – Two Demensional Tile Matrix Set #6. TileMatrixSet,对,并不是 WMTS 规范,而是更精确的 2D瓦片阵列集规范,它独立于 WMTS 规范而发布。 1. WMTS 中的 Tile…

    2023年12月16日
    151