如何利用@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 相关文章推荐
javascript radio 联动效果
Mar 04 Javascript
jquery关于图形报表的运用实现代码
Jan 06 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
Jul 31 Javascript
jQuery的animate函数学习记录
Aug 08 Javascript
Jquery 效果使用详解
Nov 23 Javascript
jQuery视差滚动效果网页实现方法经验总结
Sep 29 Javascript
Vue中之nextTick函数源码分析详解
Oct 17 Javascript
js 实现在2d平面上画8的方法
Oct 10 Javascript
微信小程序仿今日头条导航栏滚动解析
Aug 20 Javascript
解决LayUI数据表格复选框不居中显示的问题
Sep 25 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
Feb 27 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
Dec 10 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
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
我的群发邮件程序
2006/10/09 PHP
求PHP数组最大值,最小值的代码
2011/10/31 PHP
PHP实现微信公众平台音乐点播
2014/03/20 PHP
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
在jquery中combobox多选的不兼容问题总结
2013/12/24 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
JavaScript通过this变量快速找出用户选中radio按钮的方法
2015/03/23 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
Flask解决跨域的问题示例代码
2018/02/12 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
吃透移动端 1px的具体用法
2019/12/16 HTML / CSS
AmazeUI 评论列表的实现示例
2020/08/13 HTML / CSS
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
历史学专业毕业生求职信
2013/09/27 职场文书
暑期实习鉴定
2013/12/16 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
遗嘱继承公证书
2014/04/09 职场文书
土地转让协议书
2014/04/15 职场文书
家长会演讲稿
2014/04/26 职场文书
安全生产承诺书范文
2014/05/22 职场文书
四风对照检查材料思想汇报
2014/09/20 职场文书
停电调休通知
2015/04/16 职场文书
幼儿园开学通知
2015/04/24 职场文书
雨中的树观后感
2015/06/03 职场文书