问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Angular初探PWA

发布网友 发布时间:2022-09-24 02:57

我来回答

1个回答

热心网友 时间:2023-09-11 06:14

所谓PWA是 Progressive Web App 的缩写,中文意思是 “渐进式 Web 应用”,PWA有与传统的Web应用相比有什么优势?在《PWA开发实战》一书中列出了以下几点:

从渐进学习的角度,本文将初步探索使用Angular框架来实现PWA的“无连接状态下的可用性

1、安装脚手架工具

2、创建项目,命名为 gotham-hotel 即《PWA开发实战》中的 哥谭帝国酒店

...

3、初始化配置, 添加样式库,本项目选用 NG-ZORRO

4、安装后端数据模拟工具 json-server

5、修改package.json文件,添加json-server的启动指令

6、添加模拟数据:在package.json 同级目录添加 data.js 文件,文件中的 rooms 数组 模拟了 酒店的房型

1、创建房型 数据接口

接口定义如下:

2、创建 房型 数据获取服务

3、创建房型列表组件, 用于展示房型信息

修改 rooms.component.ts 文件如下:

修改rooms.component.html文件如下:

4、创建 home 组件

修改 home.component.ts 文件如下

5、设置路由
在 app.mole.ts 文件内加入如下路由信息

修改app.component.ts 文件如下 (注意,要自己把logo图片和 room1、2、3、4图片放到assets目录下)

1、启动模拟后端数据

2、启动angular服务

如果一切没有问题的话,在浏览器中可以看到

点击蓝色的按钮,可以进入房型列表页面

到这里为止,一切都还只是一个常规的Web应用,让我们来模拟一下断线会出现什么情况

在 Chrome 中:

1、选择 Tools > Developer Tools (从右上角的 Chrome 菜单)。

2、进入 Network 页。

3、勾选Offline 复选框。

刷新页面,小恐龙就会出现了

做足了前戏,才轮到我们的主角上场了

1、安装pwa

2、配置缓存信息

我们会发现项目的src目录下多出了一个 ngsw-config.json 文件,该文件用于定义pwa要缓存的信息,我们可以根据项目的需要进行修改,详细信息可参见 angular官网 Service Worker 配置 。

我们这个demo暂时只配置房型列表的api信息,在 ngsw-config.json 文件中添加内容如下:

表示对后端api中的rooms路径的请求进行缓存

3、重新构建项目

构建完成后,会在dist目录下多出一个对应项目名的文件夹

4、安装独立的 HTTP 服务器
由于 ng serve 对 Service Worker 无效,所以必须用一个独立的 HTTP 服务器在本地测试我们的项目。 我们可以使用任何 HTTP 服务器,本例使用http-server

先安装http-server

5、启动HTTP 服务

6、访问 http://127.0.0.1:8080 如果没问题的话,首页和房型列表页都会正常展示。

7、按照上一节的步骤模拟断线,返回到首页,刷新浏览器,再进入列表页,会发现房型列表可以正常展示。

至此,PWA在无连接状态下的可用性就初步展现出来了。同时可以看到,angular在PWA方面也是非常方便的!

热心网友 时间:2023-10-03 07:12

所谓PWA是 Progressive Web App 的缩写,中文意思是 “渐进式 Web 应用”,PWA有与传统的Web应用相比有什么优势?在《PWA开发实战》一书中列出了以下几点:

从渐进学习的角度,本文将初步探索使用Angular框架来实现PWA的“无连接状态下的可用性

1、安装脚手架工具

2、创建项目,命名为 gotham-hotel 即《PWA开发实战》中的 哥谭帝国酒店

...

3、初始化配置, 添加样式库,本项目选用 NG-ZORRO

4、安装后端数据模拟工具 json-server

5、修改package.json文件,添加json-server的启动指令

6、添加模拟数据:在package.json 同级目录添加 data.js 文件,文件中的 rooms 数组 模拟了 酒店的房型

1、创建房型 数据接口

接口定义如下:

2、创建 房型 数据获取服务

3、创建房型列表组件, 用于展示房型信息

修改 rooms.component.ts 文件如下:

修改rooms.component.html文件如下:

4、创建 home 组件

修改 home.component.ts 文件如下

5、设置路由
在 app.mole.ts 文件内加入如下路由信息

修改app.component.ts 文件如下 (注意,要自己把logo图片和 room1、2、3、4图片放到assets目录下)

1、启动模拟后端数据

2、启动angular服务

如果一切没有问题的话,在浏览器中可以看到

点击蓝色的按钮,可以进入房型列表页面

到这里为止,一切都还只是一个常规的Web应用,让我们来模拟一下断线会出现什么情况

在 Chrome 中:

1、选择 Tools > Developer Tools (从右上角的 Chrome 菜单)。

2、进入 Network 页。

3、勾选Offline 复选框。

刷新页面,小恐龙就会出现了

做足了前戏,才轮到我们的主角上场了

1、安装pwa

2、配置缓存信息

我们会发现项目的src目录下多出了一个 ngsw-config.json 文件,该文件用于定义pwa要缓存的信息,我们可以根据项目的需要进行修改,详细信息可参见 angular官网 Service Worker 配置 。

我们这个demo暂时只配置房型列表的api信息,在 ngsw-config.json 文件中添加内容如下:

表示对后端api中的rooms路径的请求进行缓存

3、重新构建项目

构建完成后,会在dist目录下多出一个对应项目名的文件夹

4、安装独立的 HTTP 服务器
由于 ng serve 对 Service Worker 无效,所以必须用一个独立的 HTTP 服务器在本地测试我们的项目。 我们可以使用任何 HTTP 服务器,本例使用http-server

先安装http-server

5、启动HTTP 服务

6、访问 http://127.0.0.1:8080 如果没问题的话,首页和房型列表页都会正常展示。

7、按照上一节的步骤模拟断线,返回到首页,刷新浏览器,再进入列表页,会发现房型列表可以正常展示。

至此,PWA在无连接状态下的可用性就初步展现出来了。同时可以看到,angular在PWA方面也是非常方便的!

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
硅胶与液态硅胶手机壳的区别 什么样的过敏会传染 过敏的原理是什么?为什么有的人过敏,有的人不过敏?谢谢! 过敏为什么会痒 评审报告需要注意什么 财政评审流程及注意事项 高效项目评审的6大注意事项 银行双录 什么意思 什么是银行双录 在异地哪些可公证 ng-zorro 多选框手动赋值true无效 熟悉专业及特长怎么填? 画册设计时cmyk总值等于250 影响印刷吗 全自动洗衣机必须固定在某个地点吗? 全自动洗衣机的使用问题!! 全自动的不固定在某个地方不可以么,使用时把管子在洗衣机这端按好,另一 熟悉专业及特长如何填 心悦3过期了私人客服还有吗 给小猫咪取什么名字好呢,她是小妹妹刚满月。是美短和狸猫的串串 我刚买了一只美短母猫,七月七情人节五点生的,九月七买回家,较安静,在线等好名字,谢谢! 进口大众夏朗改装移动管家专用一键启动无钥匙进入/无损安装能不能用手机遥控启动? 大众夏朗这款车,可以作为家用车来使用吗? 大众夏朗汽车日行灯和近光灯同时亮怎么回事 夏朗怎么样 夏朗2.0标准版能刷出哪些隐藏功能 人生除了生死 其余都是擦伤 人生,除了生死,其他都是擦伤 秦字开头公司名字大全 招财的秦字开头企业名称 让人忍不住点赞收藏心情说说 温暖治愈的心情说说句子 一个人心烦意乱的说说 适合发朋友圈表达情绪的句子 “瘘”在古文中有几个意思 AngularJs中ng-controller下的函数在调用时为什么会执行两次 熟悉专业特长怎么填? 请问一下熟悉专业及特长怎么填 兔子身长寿命多少 雨林缸的介绍 60*29*50的鱼缸养生态缸还是裸养好 雨林造景(感受野性美) 佛山市南海区劳动能力鉴定委员会星期六上不上班? 脚上长很多小疹子 特别痒怎么办 是什么原因。 脚上长了很多很痒的泡该怎么办 群主疏忽了管理QQ群,所以变成了色群了,群被举报,或者封禁,群主的QQ会不会有什么影响呢?会不会错 国的笔画顺序 国用英语怎么说 赫莲娜面霜哪款好用?你真的了解其中的好用之处吗? 你好!麻烦问一下,我的手机触屏坏了,用手不能操作,但是用电容笔就可以用。这是怎么回事 什么是汽车大修汽车大修的送修条件? 我能过儿童节吗? 汽车大修是什么意思 大修是怎么做的 什么情况下汽车才要大修 车辆大修范围有哪些?