如何利用@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 相关文章推荐
实现连缀调用的map方法(prototype)
Aug 05 Javascript
javascript学习笔记--数字格式类型
May 22 Javascript
js获取域名的方法
Jan 27 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
Aug 26 Javascript
jQuery基础知识点总结(DOM操作)
Jun 01 Javascript
Vue中的v-cloak使用解读
Mar 27 Javascript
微信小程序中的swiper组件详解
Apr 14 Javascript
vue使用Axios做ajax请求详解
Jun 07 Javascript
vue中如何实现pdf文件预览的方法
Jul 12 Javascript
原生js实现公告滚动效果
Jan 10 Javascript
小程序页面动态配置实现方法
Feb 05 Javascript
初学vue出现空格警告的原因及其解决方案
Oct 31 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+MySql编写聊天室
2006/10/09 PHP
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
URL地址中的#符号使用说明
2011/02/12 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
nuxt.js 缓存实践
2018/06/25 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
2018/09/14 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
2018/10/25 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
VUE渲染后端返回含有script标签的html字符串示例
2019/10/28 Javascript
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
js DOM的事件常见操作实例详解
2019/12/16 Javascript
JS call()及apply()方法使用实例汇总
2020/07/11 Javascript
js实现有趣的倒计时效果
2021/01/19 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
python中list常用操作实例详解
2015/06/03 Python
利用python发送和接收邮件
2016/09/27 Python
Python中enumerate函数代码解析
2017/10/31 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
Python生成词云的实现代码
2020/01/14 Python
在python中使用nohup命令说明
2020/04/16 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
英国电子产品购物网站:TobyDeals
2018/07/30 全球购物
Intersport西班牙:在线体育商店
2019/11/06 全球购物
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
奖学金个人总结
2015/03/04 职场文书