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的好处就是这样,在网页浏览器的同时也可以下载应用到自己的电脑桌面上,下次就可以不用直接在打开网页输入网页了,就可以直接在本地点击应用打开。这样确实很方便呢快捷。

注意事项

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


  • 2021-02-03 17:13:58

    iOS - 封装静态库

    静态库:链接时完整的拷贝至可执行文件中,被多次使用就有多份冗余拷贝,.a的静态库 .framework的静态库

  • 2021-02-03 17:16:07

    iOS 中的动态库、静态库和 framework

    首先来看什么是库,库(Library)说白了就是一段编译好的二进制代码,加上头文件就可以供别人使用。 什么时候我们会用到库呢?一种情况是某些代码需要给别人使用,但是我们不希望别人看到源码,就需要以库的形式进行封装,只暴露出头文件。另外一种情况是,对于某些不会进行大的改动的代码,我们想减少编译的时间,就可以把它打包成库,因为库是已经编译好的二进制了,编译的时候只需要 Link 一下,不会浪费编译时间。

  • 2021-02-03 17:17:53

    iOS 同一个工程下打包不同的app

    应用图标,启动画面,应用启动后的首页都不一样。 有些课程(例如公务员考试和高考)是有目标考试的概念,不同的目标考试大纲是不一样的。拿高考来举例,北京的高考和上海的高考,就有着完全不一样的考试大纲。高考的文科和理科,又有着完全不同的考试科目。 有些课程会有一些自定义的界面,例如高考的应用可以设置昵称,有些课程的真题练习中是有推荐真题模块的,而有些课程又没有。 有些课程有扫描答题卡功能,有些课程有考前冲刺功能,有些课程有大题专项查看功能,而有些课程又没有上述功能。另外还有一些微小细节,但是解决方法和类似,所以就不一一展开说明。

  • 2021-02-04 14:02:30

    window软件界面找不到了跑到屏幕外面去了

    一般可以这样操作,按Alt+空格,然后按M,然后用上下左右键把窗口移动到能看到的地方,再按回车。有些第三方的软件可能不能用,大部分都可以这样做。

  • 2021-02-04 14:08:13

    基于 Electron 的爬虫框架 Nightmare

    Electron 可以让你使用纯 JavaScript 调用 Chrome 丰富的原生的接口来创造桌面应用。你可以把它看作一个专注于桌面应用的 Node.js 的变体,而不是 Web 服务器。其基于浏览器的应用方式可以极方便的做各种响应式的交互,接下来介绍下关于 Electron 上衍生出的框架 Nightmare

  • 2021-02-04 20:13:02

    iOS framework制作及使用(包含xib和图片)

    静态库与动态库简介: 静态库:链接使用时完整地拷贝至可执行文件中 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次 本文制作framework对应xcode版本:10.1

  • 2021-02-11 15:53:08

    node缓存框架memory-cache

    无论是在 desktop, mobile or web哪一方面,Cache都常被我们用来提升程序性能。当处理web应用程序的时候,虽然可以使用当前所有浏览器都支持的响应头来进行客户端缓存,从而提升页面加载效率。但当一个内容非常繁杂的页面需要2s来进行HTML输出的时候,即使启用客户端缓存该页面,服务器仍然需要针对每一个来访用户进行页面渲染。想想一个大型的新闻门户网站首页,难道他们要针对每一个用户一遍又一遍地处理HTML吗?