小程序开发注意事项
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序开发注意事项相关的知识,希望对你有一定的参考价值。
参考技术A 1. 开发小程序时,每个页面一定要在app.json文件中注册,页面文件夹和其包含的四个文件的名字要保持一致。2. 小程序发起的都是HTTPS网络请求,在开发调试的过程中可以不校验协议和TLS版本,但在实际上线后必须进行HTTPS协议通信。
3. 小程序可以进行组件化开发以及数据绑定,所有对于DOM的操作都是基于数据驱动的,并没有直接进行DOM操作的做法,换言之,小程序内没有document对象,原生js和jQuery里的DOM操作思维要舍弃掉。
4. 小程序的网络请求wx.request()是不自带Cookies的,这和浏览器上的网络请求不同,因此基于Cookies实现的会话管理不适用于小程序。
5. 小程序的脚本文件中,内置对象是page,而非传统浏览器里的window,因此所有基于window对象来写的库(例如jQuery)都不适用于小程序。
6. 小程序提供模板功能,模板拥有自己的作用域,它只能使用从data属性传入的数据。
7. 每一个页面文件夹下的.json文件是用来写配置项的,如果该页面无需添加相关配置,.json文件也要写上一对大括号(“ ”),否则会报错。
8. 在同一个tab里的页面可以跳转,并且允许携带参数。不同tab的页面之间无法跳转,使用wx.navigateTo()接口会报错。同时,tab之间的跳转可以用wx.switchTab()实现,但是路径后不能带参数。
9. 脚本文件里data的数据,在更新的时候要通过this.setData()方法来更新,而不能直接用“=”来做。
10. 在组件标签里,可以通过“data-属性值”的方式绑定我们需要的数据,然后在事件内置event对象里进行获取。
11. 小程序里也存在事件的冒泡,具体的冒泡事件可以参考官方文档,如果希望事件向上冒泡,则使用bind来绑定事件,若希望阻止事件冒泡,就使用catch来进行事件绑定。
12. 小程序支持文件引用,有import和include两种方式,import有作用域,也就是引入的目标文件里import的模板不会被引入;而include等于是将目标文件除 以外的整个代码进行引入。
13. wx.login()和wx.getUserInfo()是两个独立的接口,前者可以实现用户登录,这个过程是悄无声息的,不需要用户授权,登录后可以拿到用户的openid和session_key;而wx.getUserInfo()可以拿到用户的具体信息,这个过程需要获得用户的授权,开发时也必须考虑用户拒绝授权的场景。
14. 目前小程序可以分享给微信好友和微信群,但小程序默认是没有这个功能的,只有在Page里定义了onShareAppMessage事件处理函数,点击小程序右上角才可以看到分享按钮。
微信小程序开发注意事项(优化项)
最近公司有一个小程序开发项目,自己也自学了不少,有一些开发小心得,记录在这里。
小程序开发中注意:
1,setData
小程序视图层和逻辑层在两个独立的模块,并不具备数据直接传递的,setData相当于他们的桥梁。常见的setData操作错误有三种。
(1),频繁的去setData:在开发过程中,尽量少的去setData,大量的setData数据会导致页面卡顿或下拉延时等。
(2),setData大量新数据:我们从setData底层可知,每次setData都会生成一个脚本,数据量大会导致脚本的编译执行时间太长,占用webView js 线程。
(3),后台态页面进行setData:在wxml里没有用到的变量等最好不要setData,可以设置一个全局变化,后台态页面setData会抢占前台页面资源。
2,图片
目前图片资源的主要性能问题在于大图片和长列表图片上,这两种情况都有可能导致 iOS 客户端内存占用上升,从而触发系统回收小程序页面。
3,代码包大小的优化
小程序对于代码包大小是2018kb,对于开发者来说,要注意:
(1),两个以上页面要封装。
(2),不使用的代码和资源要及时清除。
(3),能用字体图标代替的尽量少使用图片。
以上是关于小程序开发注意事项的主要内容,如果未能解决你的问题,请参考以下文章