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-04-15 23:54:49

    ViewPager+Fragment取消预加载以及禁止滑动

    取消预加载 网上了解了很多取消预加载的方法,里面提到了使用一个viewpager的public方法setOffscreenPageLimit 经过查看源码以及验证发现该方法是管理Viewpager预加载的页数,最低也是默认为一页(例如ViewPager一共有4页,当前手机屏幕显示第一页

  • 2017-04-15 23:56:30

    onInterceptTouchEvent和onTouchEvent调用关系详解

    如果没有onInterceptTouchEvent,只考虑onTouchEvent的话,比较容易分析和理解。假如有三层布局结构,linearLayout1,linearLayout2,textView,从前到后是包含的关系。那么下面分情况说明。

  • 2017-04-16 19:36:32

    ViewPager预加载问题和onCreateView多次调用问题的解决

    1,在使用ViewPager嵌套Fragment的时候,由于VIewPager的几个Adapter的设置来说,都会有一定的预加载(默认是左右各一个Frament)。通过设置setOffscreenPageLimit(int number) 来设置预加载的熟练,在V4包中,默认的预加载是1,即使你设置为0,也是不起作用的,设置的只能是大于1才会有效果的。我们需要通过更改V4包中的默认属性才可以

  • 2017-04-16 21:02:55

    ImageView的android:adjustViewBounds属性

    取值为true时: Adjust the ImageView's bounds to preserve the aspect ration of its drawable. 调整ImageView的界限来保持图像纵横比不变。 这并不意味着ImageView的纵横比就一定和图像的纵横比相同

  • 2017-04-18 17:12:50

    Laravel 读取 config 下的数据

    Laravel的config下一般存放配置信息,可以通过config('key')方法获取指定的数据。 设置值可通过「点」式语法读取,其中包含要访问的文件名以及选项名称。