全网仿站服务商

仿站网站二次开发,低至500元,最快24小时内上线

咨询热线:18096623820

小程序性能优化

小程序开发团队对开发者工具和性能一直在进行优化升级,为小程序提供更为强大的功能和更为丰富的API。我们在编写这本书的同时就遇见了这样的问题,一次更新就让本书更新了大量的文字。所以作为小程序开发者,我们更需要密切关注官方的更新和升级。
那么,小程序官方平台对小程序有哪些值得注意的升级优化呢?而我们作为小程序开发人员还能如何进行性能的提升和优化,以使小程序更好地服务用户呢?我们将会从以下几个方面进行简单分析和介绍。


一、网络请求接口域名的限制解决


从前几章的内容可以看出,小程序对网络请求是有严格要求的。针对已有的4种服务器域名(request,socket,uploaded,downloadfile),每种只能指定一个合法域名,这对于后台业务过于复杂的小程序,并使用不同域名对业务进行划分的应用就会有限制。应对这个限制,最终可以通过统一代理方式将多个域名收敛为一个域名,由代理层请求转发的方式,解决只能指定一个合法域名的限制。


二、应用内部支持HTTPS请求


微信小程序官方文档要求request网络请求发起的是HTTPS请求,在保证安全性和简洁性的同时,这对有各种接口的应用和程序也带来了一定影响。处理时可以通过在统一代理层部署证书,支持HTTPS请求,这样在后台无须进行大量改动,成功解决了小程序的request请求必须是HTTPS请求的问题。iOS规则自2017年1月开始,服务器仅支持HTTPS协议的网络接口,所以,现在开始的HTTPS认证的统一是有必要的。


三、并发的网络请求


在同时打开页面数量方面,小程序有最多支持5个页面的限制。一方面限制小程序的性能,另一方面也保证其运行流畅。这决定了小程序不适合做太深层页面的交互应用。在后台数据处理中,可以使用动态接口将页面需要的数据进行合并,通过一个接口获取页面所需要的数据。


四、多个页面的代码合用


小程序页面与页面之间代码复用性差。当多个页面共用一个js或者json文件时,需要打包和构建工具的支持(如Webpack)。如果没有工具只能自己手工复制,一旦涉及修改,多个页面的修改就会变成一件十分复杂的事情。


五、小程序登录问题


小程序在多次登录时不支持cookie,而是采用前端提供的接口获取登录凭证code,服务器端再用code获取session_key的方式对用户数据完成加密、解密。整个过程需要服务器对已有的登录体系进行再次封装,而本地的登录态可以利用微信提供的本地存储进行保存。


六、开发目录与发布目录分开管理


可以使用Webpack将开发目录与发布目录区分开。通过Webpack的引用,可以用更加灵活的模块化体系,将开发目录和发布目录进行分开管理。Webpack是一个前端资源的加载打包工具,可以将各种文件资源等作为模块来使用和处理,如js文件、coffee、样式(含less/sass)、图片等。


注意:


由于document、 window对象的限制, babel runtime.commonchunk、code splitting、imports-loader等插件不可使用。
开发目录和发布目录分开进行管理,这样,针对每次开发目录代
码变更后,都需要打包文件才能看到代码效果的问题,就需要编写自动更新模块,保证发布目录与开发目录效果同步一致。在使用Webpack的过程中,会出现一个问题,就是在调试时会自动生成很多不必要的文件,占用一定的空间。为了解决这个问题,还需要编写一个自动清理发布文件夹的脚本,在每次进行打包并打包完成之后触发脚本自动运行,清理最终发布的非必需文件,参考代码如下:


var fs = require('fs');


var files=fs.readdirSync('"./pub');


console.log('clean files:');


files.forEach(function(file))

if (file.indexOf('app')===-1 &&(file.indexOf('.wxss')!==-1 |l file.indexOf(".js') !== -1 || file.indexOf('.map') !==-1))

fs.unlink('./pub/'+file);


console.log(file);}
};


七、小程序大小优化
微信小程序开发者工具支持简单的模块化,其page路径可以单独进行设置,但是对提交的代码包的大小有所限制,最初限制大小为1MB,现在已开放到2MB,但仍需注意。小程序自身不提供相应的文件压缩和合并,所以在大小超过限制的情况下,应先进行压缩再提交。


虽然小程序官方做出了大量的优化和安全保障工作,但在开发和维护的过程中,读者仍需多注意,让小程序更好地为我们所用,为用户服务。








您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。