如何利用@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 相关文章推荐
JS动态调用方法名示例介绍
Dec 18 Javascript
JavaScript中的函数重载深入理解
Aug 04 Javascript
jQuery给动态添加的元素绑定事件的方法
Mar 09 Javascript
JS类的定义与使用方法深入探索
Nov 26 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
Jun 05 Javascript
vue实现搜索功能
May 28 Javascript
Vue v-for循环之@click点击事件获取元素示例
Nov 09 Javascript
JavaScript遍历数组的方法代码实例
Jan 14 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
Mar 06 Javascript
JavaScript实现密码强度实时验证
Mar 18 Javascript
Vue 组件的挂载与父子组件的传值实例
Sep 02 Javascript
详解vue-router的导航钩子(导航守卫)
Nov 02 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页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
用JQuery在网页中实现分隔条功能的代码
2012/08/09 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
javascript基于HTML5 canvas制作画箭头组件
2014/06/25 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
js实现文件上传表单域美化特效
2015/11/02 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
jQuery实现网页拼图游戏
2020/04/22 jQuery
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
原生JS实现pc端轮播图效果
2020/12/21 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
大四学生毕业自荐信
2013/11/07 职场文书
高一历史教学反思
2014/01/13 职场文书
广告传媒专业应届生求职信
2014/03/01 职场文书
党员实事承诺书
2014/03/26 职场文书
党委书记群众路线对照检查材料思想汇报
2014/10/04 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
蓬莱阁导游词
2015/02/04 职场文书
大学校园招聘会感想
2015/08/10 职场文书
Python调用腾讯API实现人脸身份证比对功能
2022/04/04 Python