美文网首页Vue
Vue+PWA初尝试

Vue+PWA初尝试

作者: BoomKing | 来源:发表于2019-05-30 17:01 被阅读16次

前阵子在个项目做缓存的过程中,无意间发现PWA这个好东西,当时比较忙没来细细研究,现在回过来头来看看。

什么是PWA

介绍就不介绍了,这里有更详细的,直接开始实验。

创建项目

使用vue-cli3来构建项目基本的结构,在选择配置项的时候把PWA support勾上。


1559207702.png

配置项

首先我们需要配置一下webpack打包后的路径,不然我们将会看到一片空白和一堆404的报错。
在根目录下创建vue.config.js,然后写一些简单的配置。

module.exports = {
    publicPath: './'
};

然后来到src里面找到registerServiceWorker.js文件,这个就是service workers的配置文件,可以对sw的各个生命周期进修改,这次主要是简单的体验功能所以我并没有修改

/* eslint-disable no-console */

import { register } from 'register-service-worker'

if (process.env.NODE_ENV === 'production') {
  register(`${process.env.BASE_URL}service-worker.js`, {
    ready () {
      console.log(
        '准备完成'
      )
    },
    registered () {
      console.log('注册成功')
    },
    cached () {
      console.log('缓存')
    },
    updatefound () {
      console.log('正在下载新内容.')
    },
    updated () {
      console.log('新内容可用;请刷新.')
    },
    offline () {
      console.log('找不到Internet连接。应用程序正在脱机模式下运行')
    },
    error (error) {
      console.error('服务工作者注册过程中出错:', error)
    }
  })
}

接下来进入public文件加找到manifest.json文件,这个是为了实现 PWA 应用添加至桌面的功能,可以配置用的图标、名称等信息。详细可以看https://pwa.baidu.com/pwa/engage-retain-users/add-to-home-screen/introduction,打不开的复制链接再打开。

{
  "name": "PWA-DEMO",   //项目主名称
  "short_name": "DEMO",   //项目小名
  "icons": [   //设置你需要的logo图标,我这里随便找了一张
    {
      "src": "./timg.jpg",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "./timg.jpg",
      "sizes": "512x512",
      "type": "image/png"
    }
  ],
  "start_url": "./index.html",    //启动页面
  "display": "standalone",      //启动过渡动画
  "background_color": "#000000",    //背景颜色
  "theme_color": "#4DBA87"    //导航栏颜色
}

然后

接下来打包,然后部署的服务器(sw为了安全起见要求在https环境下),打开。
因为进本没有修改任何的页面代码,所以长这样的。


1559210648(1).png

打开开发者工具,到application下的service workers勾选Offline,模拟一个断网的情况。

1559210897(1).png

然后按F5刷新,你就会神奇的发现即使没有网络依然能够正常的访问,这就是pwa的神奇之处。

最后附上git地址:https://gitee.com/HelpG/pwa-demo.git

相关文章

  • Vue+PWA初尝试

    前阵子在个项目做缓存的过程中,无意间发现PWA这个好东西,当时比较忙没来细细研究,现在回过来头来看看。 什么是PW...

  • 初尝试

  • 初尝试

  • 初尝试

  • 初尝试【158】

    第一次在小黑板上写POP,继续努力~

  • 水彩初尝试

    一直喜欢水彩插画,但深知水彩的难度,没有尝试。憋了很久,觉得凡事总得开头往下走,便抓起画笔开始了第一次的水彩插画创...

  • 扇面初尝试

    手里的这幅空白扇子在家已经放了两月有余,还是之前去宋庄办事,离开之前身边正好有一画材店,在店外看到店里宣...

  • 人物初尝试

    一直不敢画人物,觉得太难,本来就渣渣人物更把握不了,比较有挫败感。 现在还是决定要去尝试,你怕而不做那就不可能有突...

  • TPRS初尝试?

    暑假前, 在Facebook上认识了几位TPRS大拿,包括蔡琳老师,通过几次沟通, 特别想好好学习一下, 可惜暑假...

  • 初尝试swift

    间间断断学了swift一段时间,今天用swift初尝试简单的写了网络请求数据。感觉真心坑。。。。没啥用至少能帮新人...

网友评论

    本文标题:Vue+PWA初尝试

    本文链接:https://www.haomeiwen.com/subject/mkbvtctx.html