热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信小程序项目总结(一)

—KChris2017.3.16(^.^)前言微信小程序的开发,我应该算是赶上了第一波,所以,自然是一路踩坑而来。一月九日,小程序正式上线,早早地就到公司开始改bugs~前不久,我

— KChris 2017.3.16 (=^.^=)

前言
微信小程序的开发,我应该算是赶上了第一波,所以,自然是一路踩坑而来 =。=
一月九日,小程序正式上线,早早地就到公司开始改bugs~
前不久,我又对这个项目重构了一版~
现在来做个项目总结刚好,就给我踩过的那些坑留点纪念吧~

开发时,切忌将小程序简单地想象成我们web开发中的css、js、html,否则···

微信小程序的开发,实际上是在微信封装下对项目的二次开发了。很多很多的规则我们必须要去遵守,其中很明显的就是标签元素。很多标签会让我们很自然地和html中的标签元素对应起来,建立这种对应关系确实能够帮助我们更快地入手小程序,但是一定要记得不要把它们等同起来,谨记它们是有区别的。还有,开发之前,记得看看官网文档上的Q&A,预热下。

注:
1.以下标题是按照微信开发工具上的选项进行划分的。
2.总结还在一步步地完善中,每天一点点~
3.欢迎留言指正错误,知识共享~

项目
1.开发环境不校验请求域名以及TSL版本
小程序有严格的域名检查规则,规定使用https。
所以,当你的开发环境是http时,记得将这个选项勾上,不然你是无法请求到接口数据的。

2.开启ES6转ES5
如果有用ES6语法的话,记得勾上。

编辑
编辑,也就是开发咯。

1.文件引用
在小程序中,它引入了模块机制,我们可以在页面中引入我们需要的模块,但是,这种引入是单向的。比如:
a文件:

var b = require('../libs/b.js')

那我们在b文件中如果这样:

var a = require('../libs/a.js')

开发者工具是会报错的,目前我的解决方案也只是避免这种引用,直接将自己需要的部分放在同一个文件中。

2.图片
1)通过background属性引用图片
没错,我们可以在开发工具上看到效果挺正常的,但是,打开手机测试,Ops,图片不见了。
在官方文档上有明确规定,本地资源是无法通过css获取的。
所以,当你决定用background-image属性的时候,你可以:
a=> 使用网络图片
b=> base64

2)通过image标签src属性引用图片
这种方式的引用没有资源来源方式的限制,可以引用本地资源。

调试
调试的时候最大的感悟是,无论是开发者工具上,还是手机上,记得先把缓存删干净再测。而且出现bugs的时候尽量多测几次,进行反复确定。不然的话,你可能会发现,本来测好的功能又出现问题了,或者是本来有问题的部分又没有问题了,所以,测吧测吧,多测几次。

1.页面加载,前端向后台发送数据请求。
在开发阶段,我们在进行对请求结果的业务处理时,自然是边调试边修改的,有时候我们会遇到:statusCode没处理好而导致前端不断向后台发送请求,然后,卡机了。当然,在微信开发者工具上,也是。不过,除此之外,它还会产生另外一个副作用,就是可能连小程序本身API上的请求都请求不了了。发生这种情况的话,你就喝喝茶,做做眼保健操吧,给它点时间,它会好起来的。

2.代码上传报错。
手机预览小程序。在预览之前,我们是需要在开发者工具上上传代码的,说说我遇到的报错把:
1)明确提示我的代码中哪一个文件有错误
这个比较好办,就是直接找到对应文件,结合控制台,改好之后再上传代码。
2)错误提示一个不知道什么原因的error
遇见这种情况,我的解决方案是:不用纠结,关掉我的开发者工具,打开,再上传。貌似有点无厘头,但是成功几率很高,不信你可以试试。

其他
1.开发过程中,记得时刻关注官方文档上的更新日志,保持自己的开发工具是最新的。这是避免跳坑的一大法宝,不过现在还好了,刚开始的时候是真坑~
2.学会在开发者社区上找答案,没有答案就去提问,会有人回答你的。


推荐阅读
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 校园表白墙微信小程序,校园小情书、告白墙、论坛,大学表白墙搭建教程
    小程序的名字必须和你微信注册的名称一模一样在后台注册好小程序。mp.wx-union.cn后台域名https。mp.wx-union.cn ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了关于smarty自定义缓存名的解决思路,通过放弃生成缓存,直接生成html的静态页面来提高速度。同时提供了一个参考链接供参考。 ... [详细]
  • 微信开放外链的第二阶段:腾讯和阿里巴巴的博弈
    2021年11月30日,微信开始进行“开放外链”的第二阶段,允许在微信个人会话中打开外部链接和在微信群中打开电商链接。虽然这是腾讯和阿里巴巴都能接受的阶段性结果,但双方都不会太满意。接下来几个月,腾讯和阿里将展开复杂的博弈,我们作为外人很难看清全过程。工信部从未要求腾讯无条件开放微信API,本次开放的也只是普通的HTTP链接。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 本文介绍了iPhone降频开关的位置和设置方法,以及解释了内存中的其他文件的含义和清理方法。同时提醒用户,在内存不足时系统会自动删除这些文件来腾出容量,因此不必过于担心。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
author-avatar
141qws_330
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有