如何利用@angular/cli V6.0直接开发PWA应用详解


Posted in Javascript onMay 06, 2018

什么是PWA

PWA(Progressive Web App)利用TLS,webapp manifests和service workers使应用程序能够安装并离线使用。 换句话说,PWA就像手机上的原生应用程序,但它是使用诸如HTML5,JavaScript和CSS3之类的网络技术构建的。 如果构建正确,PWA与原生应用程序无法区分。

PWA 的主要特点包括下面三点:

  • 可靠 - 即使在不稳定的网络环境下,也能瞬间加载并展现
  • 体验 - 快速响应,并且有平滑的动画响应用户的操作
  • 粘性 - 像设备上的原生应用,具有沉浸式的用户体验,用户可以添加到桌面

PWA 本身强调渐进式,并不要求一次性达到安全、性能和体验上的所有要求,开发者可以通过 PWA Checklist 查看现有的特征。

Angular正式发布了V6.0,我们已经可以利用对应的@angular/cli V6.0来直接开发PWA应用了。下面话不多说了,来一起看看详细的介绍吧。

第一步:安装@angular/cli V6.0

如果你机器上有老版本,请先卸载。

打开你的终端,执行:

npm install -g @angular/cli

安装成功之后用ng -v 查看一下版本号:

如何利用@angular/cli V6.0直接开发PWA应用详解

第二步:new一个空项目

执行:

ng new test-ng-pwa

创建成功之后把项目起来看一下,执行:

ng serve --open

浏览器里面看到这个界面说明一切OK:

如何利用@angular/cli V6.0直接开发PWA应用详解

第三步:添加PWA支持

把项目停掉,然后在终端里面执行:

ng add @angular/pwa

效果如下:

如何利用@angular/cli V6.0直接开发PWA应用详解

因为@angular/cli内置的Server在--prod 编译的时候还不支持service-worker,所以上面装了一个第三方的lite-server,它的官方文档在这里:https://npmjs.com/package/lite-server ,请执行:

npm install lite-server --save-dev
npm install lite-server --global

装完之后,执行:

npx ng build --prod && lite-server --baseDir dist/test-ng-pwa

然后打开你的浏览器访问3000端口,可以看到service-worker已经起成功了:

如何利用@angular/cli V6.0直接开发PWA应用详解

如何利用@angular/cli V6.0直接开发PWA应用详解

这时候你已经可以把应用添加到桌面上了:

如何利用@angular/cli V6.0直接开发PWA应用详解

这是Windows上的效果:

如何利用@angular/cli V6.0直接开发PWA应用详解

Linux、iOS、Android、ChromeOS最新的版本都已经全部支持,你自己去试试吧!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
IE6、IE7中获取Button元素的值的bug说明
Aug 28 Javascript
使用闭包对setTimeout进行简单封装避免出错
Jul 10 Javascript
jquery ready(fn)事件使用介绍
Aug 21 Javascript
javascript实现相同事件名称,不同命名空间的调用方法
Jun 26 Javascript
JavaScript常用标签和方法总结
Sep 01 Javascript
MUI 上拉刷新/下拉加载功能实例代码
Apr 13 Javascript
彻底解决 webpack 打包文件体积过大问题
Jul 07 Javascript
vue配置请求本地json数据的方法
Apr 11 Javascript
layui实现点击按钮给table添加一行
Aug 10 Javascript
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
微信小程序服务器日期格式化问题
Jan 07 Javascript
小程序实现筛子抽奖
May 26 Javascript
Less 安装及基本用法
May 05 #Javascript
es6新特性之 class 基本用法解析
May 05 #Javascript
JS同步、异步、延迟加载的方法
May 05 #Javascript
JavaScript生成指定范围随机数和随机序列的方法
May 05 #Javascript
JS文件中加载jquery.js的实例代码
May 05 #jQuery
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
May 05 #Javascript
js动态引入的四种方法
May 05 #Javascript
You might like
PHP新手上路(九)
2006/10/09 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
FireBug 调试JS入门教程 如何调试JS
2013/12/23 Javascript
基于JavaScript实现自定义滚动条
2017/01/25 Javascript
javaScript中封装的各种写法示例(推荐)
2017/07/03 Javascript
解决Angular4项目部署到服务器上刷新404的问题
2018/08/31 Javascript
微信小程序实现带缩略图轮播效果
2018/11/04 Javascript
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
python检测是文件还是目录的方法
2015/07/03 Python
Python实现进程同步和通信的方法
2018/01/02 Python
Python打印输出数组中全部元素
2018/03/13 Python
python多进程提取处理大量文本的关键词方法
2018/06/05 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
django的settings中设置中文支持的实现
2019/04/28 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
如何对python的字典进行排序
2020/06/19 Python
Python timeit模块原理及使用方法
2020/10/10 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
美国体育用品商店:Academy Sports + Outdoors
2020/01/04 全球购物
工商管理专业学生的自我评价
2013/10/01 职场文书
物流管理专业应届生求职信
2013/11/21 职场文书
一名毕业生的自我鉴定
2013/12/04 职场文书
国税会议欢迎词
2014/01/16 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
学校党员对照检查材料
2014/08/28 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
教师年度考核个人总结
2015/02/12 职场文书
百万英镑观后感
2015/06/09 职场文书
礼貌问候语大全
2015/11/10 职场文书