zoukankan      html  css  js  c++  java
  • PWA

    渐进式网络应用程序(Progressive Web Application - PWA),是一种可以提供类似于原生应用程序(native app)体验的网络应用程序(web app)。PWA 可以用来做很多事。其中,最重要的是,在离线(offline)时应用程序能够继续运行功能。这是通过 Service Workers 的网络技术来实现的。

    下面将使用 Workbox 构建一个离线应用程序.

    1. 使用http-server包,workbox-webpack-plugin插件

    npm install http-server --save-dev
    npm install workbox-webpack-plugin --save-dev

    2. webpack.common.js

    // PWA
    +    const WorkBoxPlugin = require('workbox-webpack-plugin');
    
    plugins:[
            new CleanWebpackPlugin(),
            new HtmlWebpackPlugin({
                title: 'PWA'
            }),
            new webpack.ProvidePlugin({
                join: ['lodash','join']
            }),
    +        new WorkBoxPlugin.GenerateSW({
    +            clientsClaim: true,
    +            skipWaiting: true
            })
        ]

    npm run build

     3. 注册service-worker

    // index.js
     if ('serviceWorker' in navigator) {
        window.addEventListener('load', () => {
            navigator.serviceWorker.register('./service-worker.js').then(registration => {
            console.log('SW registered: ', registration);
            }).catch(registrationError => {
            console.log('SW registration failed: ', registrationError);
            });
        });
    }
    // 构建
    npm run build
    // 启动http-server
    npx http-server dist

    浏览器控制台打印如下

     

     而后,关闭服务,应用程序还在正常运行。此时,服务器已经停止了服务, Service Worker 在提供服务。

  • 相关阅读:
    第七周进度报告
    解析极限编程阅读笔记02
    解析极限编程阅读笔记01
    第六周进度报告
    合作开发项目-地铁线路查询
    构建之法阅读笔记03
    关于DeferredResult的思考
    java实现任务调度
    java里面如何提升编写速度
    收集整理mysql数据库设计规范与原则
  • 原文地址:https://www.cnblogs.com/ceceliahappycoding/p/12260205.html
Copyright © 2011-2022 走看看