公众号开发调试及缓存处理策略
1、用户端访问
debugmm.qq.com/?forcex5=true '在微信打开这个链接,会自动下载安装微信内置浏览器清楚手段,可以发给自己,点击打开就行.'
但是,你项目发布出去之后,总不能也让用户一个个去这样骚操作吧
接下来,就需要在你进入公众号官网首页进行操作了, 每次进入时候微信要获取权限,所有在哪一步需要根据自己的项目而论;
2、
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="0" /> // 网上很多答案都提供了添加在head处的meta,但是有的人说没有用。 // 目测是因为meta只能保障js和css等资源不会被缓存,但是无法保障html不被缓存
3、所以,我们引用js文件加一个时间戳后缀, 让他形成一个动态版本的数据,微信这边识别的到与缓存中不一样就会重新加载.
如下图:
二、公众号开发的正确姿势。
1、利用网云穿穿透内网
2、使用自己的域名映射到网云穿域名
3、将自己的测试域名加入公众号信任域名中
4、本地开启服务,利用微信开发工具访问测试域名,调试H5。
注:问题1:访问不到 。解决方法 manifest.json--> h5:---> disableHostCheck:true
问题2:js加载不了(windows电脑) NET... 。 解决方法 manifest.json---->h5: ---> compress: true
问题3:页面可以访问,但是一直刷新。 本地运行服务端口需要改成80端口,完美解决。
uni-app
中 manifest.json->h5->devServer
实际上对应 webpack
的 devServer (opens new window),鉴于 manifest 为 json 文件,故 webpack.config.js->devServer
配置项下的简单类型属性均可在manifest.json->h5->devServer
节点下配置,funciton 等复杂类型暂不支持