Nuxt之PWA(Progressive Web App)渐进式网页应用

2020-03-03 21:33:36

参考地址 Nuxt之PWA(Progressive Web App)渐进式网页应用

📦 PWA

介绍

简介就不用说了哈,想知道更多更详细的请自行百度或Google。谢谢!/捂脸 /捂脸 /捂脸

使用

在Nuxt.js中做PWA不分单页面和多页面,都能使用。

1.安装@nuxtjs/pwa

yarn add @nuxtjs/pwa

2.需要在你的 nuxt.config.js 中添加以下配置:

manifest: {
    name: "BuyBit",
    short_name: "币买",
    description: "全球最具影响力的矿机算力交易平台,全球首创矿机算力交易平台,全球首家矿机算力交易平台,全球最好最优质的数字货币交易交易平台",
    background_color: "#2baf88",
    theme_color: "#2baf88",
    lang: "zh",
    start_url: "/"
  },
  render: {
    http2: {
      push: true
    },
    static: {
      maxAge: "1y",
      setHeaders(res, path) {
        if (path.includes("sw.js")) {
          res.setHeader("Cache-Control", `public, max-age=${15 * 60}`);
        }
      }
    }
  },// resourceHints 提升页面加载性能与体验
  render: {
    resourceHints: false
  },modules: ["@nuxtjs/pwa"]

3.在根目录下添加now.json文件

  {
  "version": 2,//版本号
  "alias": "www.homwang.com",//域名
  "builds": [{
    "src": "nuxt.config.js",//打包的配置文件
    "use": "@nuxtjs/now-builder"//打包使用的包
  }],
  "routes": [{
      "src": "/_nuxt/.+",//打包后你的项目地址
      "headers": {
        "Cache-Control": "max-age=31557600"//设置时间,则在过期之前不会重复访问
      }
    },
    {
      "src": "/(.*)",//没有特殊要求就使用该默认配置
      "dest": "/"//没有特殊要求就使用该默认配置
    }
  ]}

4.在静态static目录中添加icon.png图片文件(512 X 512)

5.打包部署流程走一遍到线上,就ok了

6.PWA展示效果


image.png

然后就可以点击+号安装应用并且下载到你到电脑桌面上了,如下:

image.png


桌面显示如下:


image.png

因为我在不同的环境下装了各自装了一个,所以我这里会有两个,后面的这个是刚刚安装下来的

结尾

在使用js开发的时候我们都想做到夸平台的访问应用,PWA的好处就是这样,在网页浏览器的同时也可以下载应用到自己的电脑桌面上,下次就可以不用直接在打开网页输入网页了,就可以直接在本地点击应用打开。这样确实很方便呢快捷。

注意事项

如果你的地址访问不安全,因为安全策略的问题不会有添加应用图标如下:


  • 2017-08-03 21:16:46

    Node.js 里面那些遗失的 ES6 特性

    其实 Node.js 对 ES6 的很多特性都已经开始支持了。 在 Node.js 使用的 JS 引擎 V8 里面将不同状态 ES6 特性分成了 3 个等级:

  • 2017-08-08 11:17:17

    nginx 反向代理 取得真实IP和域名

    nginx反向代理后,在应用中取得的ip都是反向代理服务器的ip,取得的域名也是反向代理配置的url的域名,解决该问题,需要在nginx反向代理配置中添加一些配置信息,目的将客户端的真实ip和域名传递到应用程序中。

  • 2017-08-09 15:14:52

    如何写好.babelrc?Babel的presets和plugins配置解析

    官网是这么说的,翻译一下就是下一代JavaScript 语法的编译器。 作为前端开发,由于浏览器的版本和兼容性问题,很多JavaScript的新的方法都不能使用,等到可以大胆使用的时候,可能已经过去了好几年。Babel就因此而生,它可以让你放心使用大部分的JavaScript的新的标准的方法,然后编译成兼容绝大多数的主流浏览器的代码。

  • 2017-08-15 17:44:21

    glob 介绍

    glob 最早是出现在类Unix系统的命令行中, 是用来匹配文件路径的。比如,lib/**/*.js 匹配 lib 目录下所有的 js 文件。 除了在命令行中,我们在程序中也会有匹配文件路径的需求。于是,很多编程语言有了对 glob 的实现 ,如 Python 中的 glob 模块; php 中的 glob 方法。

  • 2017-08-16 08:45:41

    nodejs中流(stream)的理解

    这种方式是把文件内容全部读入内存,然后再写入文件,对于小型的文本文件,这没有多大问题,比如grunt-file-copy就是这样实现的。但是对于体积较大的二进制文件,比如音频、视频文件,动辄几个GB大小,如果使用这种方法,很容易使内存“爆仓”。理想的方法应该是读一部分,写一部分,不管文件有多大,只要时间允许,总会处理完成,这里就需要用到流的概念。