使用html+网页混合打包方式,将项目缓存到本地,实现无网状态下依旧能加载出框架
由于网络或者其他原因导致网站无法打开,页面暴露网址,或者无法加载框架,而被判断为是简单的网站打包,从而被应用商店拒绝! 我们需要一种缓存机制将APP的内容缓存进安装包里面,从而让用户在断网的情况下,依旧能看到APP的一些内容,不限于页面框架或者素材,这样可以确保我们APP更加的友好!而不是一个空白页面,或者暴露网址出来!
当然您也可以直接使用前后端分离的前端代码直接打包成APP,我们更加推荐前端代码html打包模式!
html打包模式将会是未来的一个主流方向!
但是还是有很多开发者是直接使用网站URL链接方式打包开发APP的,这种情况下我们可以选择混合打包模式!
1.登录一门app开发者中心,点击新建APP
在开发模式这里我们选择第三个!
2.首页地址设置
这里的首页地址,在有网络的情况下我们可以直接默认选择网站链接!
也可以选择我们的html首页文件
网站链接和html首页文件依次对应第一项的网址和第二项首页文件路径
3.抓取网站链接缓存到本地APK安装包
设置好抓取地址之后,我们点击保存按钮!
这里目前支持抓取5个地址!
之后点击开始抓取!
——目前无网状态下自动替换,只支持APK安装包!
请耐心等待排队抓取!
请耐心等待排队抓取!
专区成功之后,会有页面提示,成功抓取到了多少大小的资源!
这也意味着我们的APK安装包会增大这么多!
4.之后在页面地址点击保存按钮
之后点击左侧的生成安装包,生成新版!
之后安装新版测试,在关闭网络的状态下,依旧能打开您网站的页面框架!
实现更加友好的价值!
5.混合使用资源!
如果您在第二种打包模式里面上传了资源!
您还可以通过 fs://www/ 设置资源访问规则!
- 本地资源引用路径为 fs://www/* (星号 * 为 www 目录下的相对路径);
复制代码
——这需要一定的技术能力,您需要对正则表达式有一定基础!
- 编写替换规则,将网络资源路径替换为应用内的本地资源路径;
- 从上到下依次匹配,以第一个匹配成功的规则为准,如果应用内本地文件不存在则继续请求网络;
- 支持本地路径对网络路径正则表达式的分组(Group)引用,{R:GroupIndex} 中 GroupIndex 为分组索引号;
- 示例 .+?\.com/(.*?)\.jpg 替换为 {R:1}.jpg 即表示 {R:1} 引用正则分组 (.*?)
复制代码
我们可以点击页面下方的 配置替换规则
在弹出的规则配置界面,自定义资源访问规则!
这个功能主要实现JS、CSS、图片、音视频等静态资源的本地化
您可以将静态资源在第二种开发模式里面上传,让网站在APP内访问直接加载对应的本地资源
这可以提高网站资源加载速度!
衍生阅读
如何上传静态资源?
进入在线编辑器之后,在页面底部找到上传按钮!
可以静态资源直接上传,上传ZIP之后会自动解压!
之后可以右键文件,获取到资源的本地路径!
我们这里演示的复制路径为:./545/style.css
这个路径是项目内的路径!
我们在网站上需要访问这个本地文件,我们需要加上前缀 fs://www/
那这里需要自行补全路径: fs://www/545/style.css
对比
项目内部地址:./545/style.css
网站上访问地址: fs://www/545/style.css
演示
- <link href="fs://www/545/style.css" rel="stylesheet" />
复制代码
|