当前位置: 首页 > news >正文

小程序开发中的那些坑

前言

最近小程序特别火,不用安装,即开即用,用完就走。省流量,省安装时间等等优势吸引了大量用户,几乎所有大厂的APP都有小程序版本。我厂也有开发,所以我也加入了开发小程序的队伍,开发中的那些注意点和各位小伙伴们分享下。

一.css伪类看不到

在微信开发者工具中,Styles不会显示css伪类,喜欢写::before或:first-child的小伙伴们请注意了,你的伪类在控制台是看不到的。

建议不要在公共css文件夹下写伪类,本妹子就遇到过这个坑,某小伙伴在公共css上写了按钮的after加了个边框样式,找了好久才找到这个边框写在哪。

 button::after {
       border: 2rpx solid #000;  
 }

after.png

二.https

小程序的图片只支持https://...的URL,后台接口不能传//或http://,否则有些安卓机会不兼容

在微信开发者工具中,可勾选"不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书"规则即可用http,但是在实体里并没有这个选项,所以建议开发时就用https路径。

https.png

三.不要换行写,有空格不行

微信开发者工具不会对代码进行trim操作,如果代码中换行,页面也直接换行。

wrap.png

四.部分CSS3属性不能用

如transform:rotate(180deg),不能用。

五.Git 状态展示

project.config.json和.git需要在同层目录,Git 状态才能显示,所以project.config.json最好放在根目录中

git.jpg

六.页面跳转

wx.navigateTo 新窗口打开页面 新页面有返回按钮

wx.redirectTo 关闭当前页面,跳转到应用内的某个页面 新页面没有返回按钮

七.IDE更换

微信开发者工具有很多快捷键都不能用,对于很多熟悉其他IDE的前端开发者来说很不习惯。
可以隐藏编辑器或分开窗口,把微信开发者工具只当作浏览器,然后然后小伙伴们就可以用自己熟悉的IDE了。

IDE.png

八.分享事件不支持同步

如果你想自定义分享图片,则在生命周期onShareAppMessage中编写如下所示:

Page({
  onShareAppMessage: function (res) {
    return {
      title: '自定义转发标题',
      imageUrl: 'https://raoenhui.github.io/images/logo.png'
    }
  }
})

但是onShareAppMessage不能支持异步,如果你想从接口里获取分享图片URL,必须在onLoad提前读取并放入Data中

原文地址为:https://raoenhui.github.io/wechat/2018/07/18/%E5%B0%8F%E7%A8%8B%E5%BA%8F

参考资料

  • https://developers.weixin.qq.com/miniprogram/dev/api

Happy coding .. :)

相关文章:

  • Intellij idea 快捷键持续更新
  • 常用加密算法概述
  • CSS基础2-盒子模型、定位、浮动
  • 集群架构(1)
  • python全栈开发 * background 定位 z-index * 180813
  • Prism中命令可用性无法自动刷新
  • shell入门基础常见命令及用法
  • 高可用,高并发
  • SqlServer日期时间格式转换
  • Go to sleep
  • 【CSS】小妙招,各种问题总结方法处理
  • exception ORA-00923: FROM keyword not found where expected
  • windows2003开了远程却连不上
  • Running Median
  • Java中getResourceAsStream的用法
  • JavaScript-如何实现克隆(clone)函数
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • 11111111
  • Codepen 每日精选(2018-3-25)
  • Gradle 5.0 正式版发布
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • JS 面试题总结
  • JS题目及答案整理
  • LeetCode算法系列_0891_子序列宽度之和
  • Python_OOP
  • Rancher-k8s加速安装文档
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • 力扣(LeetCode)965
  • 那些被忽略的 JavaScript 数组方法细节
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  •  一套莫尔斯电报听写、翻译系统
  • 与 ConTeXt MkIV 官方文档的接驳
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • $jQuery 重写Alert样式方法
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (3)(3.5) 遥测无线电区域条例
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (Forward) Music Player: From UI Proposal to Code
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (转)VC++中ondraw在什么时候调用的
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET I/O 学习笔记:对文件和目录进行解压缩操作
  • .Net IOC框架入门之一 Unity
  • .NET 设计模式初探
  • .Net面试题4
  • .NET中使用Protobuffer 实现序列化和反序列化
  • .Net组件程序设计之线程、并发管理(一)
  • @取消转义
  • [100天算法】-x 的平方根(day 61)
  • [BUUCTF 2018]Online Tool(特详解)