如何利用@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 相关文章推荐
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
Jan 22 Javascript
jquery.lazyload  实现图片延迟加载jquery插件
Feb 06 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
Jan 06 Javascript
JavaScript中对象介绍
Dec 31 Javascript
javascript常用的方法分享
Jul 01 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
Aug 17 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
Sep 23 Javascript
JS实现DIV高度自适应窗口示例
Feb 16 Javascript
Webpack之tree-starking 解析
Sep 11 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
Apr 08 Javascript
Vue实现图书管理小案例
Dec 03 Vue.js
分享15个Webpack实用的插件!!!
Mar 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
神族 Protoss 历史背景
2020/03/14 星际争霸
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
推荐5款跨平台的PHP编辑器
2014/12/25 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
css图片自适应大小
2007/11/28 Javascript
js option删除代码集合
2008/11/12 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
通过JQuery,JQueryUI和Jsplumb实现拖拽模块
2019/06/18 jQuery
vue登录注册实例详解
2019/09/14 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
详解Python函数作用域的LEGB顺序
2016/05/14 Python
Python之py2exe打包工具详解
2017/06/14 Python
Python基于正则表达式实现文件内容替换的方法
2017/08/30 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
2018/06/27 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
python三引号输出方法
2019/02/27 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
2019/05/21 Python
python 实现返回一个列表中出现次数最多的元素方法
2019/06/11 Python
解决python replace函数替换无效问题
2020/01/18 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
印度尼西亚最大的电商平台:Tokopedia(印尼版淘宝)
2017/12/02 全球购物
我们是伦敦女孩:WalG
2018/01/08 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
质检部部长职责
2013/12/16 职场文书
企业总经理职责
2014/02/02 职场文书
《乌鸦和狐狸》教学反思
2014/02/08 职场文书
高等教育学自荐书范文
2014/02/10 职场文书
2014年两会学习心得范例
2014/03/17 职场文书
优秀公益广告词大全
2014/03/19 职场文书
综合测评自我评价
2015/03/06 职场文书
html原生table实现合并单元格以及合并表头的示例代码
2023/05/07 HTML / CSS