почему работник службы медленный? - PullRequest
0 голосов
/ 20 сентября 2019

Я занимаюсь разработкой проекта с nuxt.Я установил Service Worker в этот проект, используя этот пакет.Файл nuxt.config.js выглядит так:

export default {
    mode: 'universal',

    /*
    ** Headers of the page
    */
    head: {
    title: 'my_project',
    meta: [
        { charset: 'utf-8' },
        { name: 'viewport', content: 'width=device-width, initial-scale=1'},
        { hid: 'description', name: 'description', content: pkg.description }
    ],
    link: [
        { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
    ]
    },

    /*
    ** Customize the progress-bar color
    */
    loading: { color: '#fff' },

    /*
    ** Global CSS
    */
    css: [
        '~/static/css/base.css',
        '~/static/css/hooper.css',
        '~/static/css/font-awesome/css/all.min.css',
    ],

    /*
    ** Plugins to load before mounting the App
    */
    plugins: [
      { src: '~plugins/ga.js', ssr: false }
    ],

    /*
    ** Nuxt.js modules
    */
    modules: [
        // Doc: https://axios.nuxtjs.org/usage
        '@nuxtjs/axios',
        // Doc: https://bootstrap-vue.js.org/docs/
        'bootstrap-vue/nuxt',
        '@nuxtjs/pwa',
        '@nuxtjs/device',
    ],

    manifest:{
        "short_name": "my_project",
        "name": "my_project",
        "icons": [
            {
                "src": "/static/icon.png",
                "type": "image/png",
            },
        ],
        "start_url": "/",
        "background_color": "white",
        "display": "standalone",
        "scope": "/",
        "theme_color": "white"
    },

    workbox:{

    },


    /*
    ** Axios module configuration
    */
    axios: {
        // See https://github.com/nuxt-community/axios-module#options
    },

    /*
    ** Build configuration
    */
    build: {
        /*
        ** You can extend webpack config here
        */
        extend(config, ctx) {
        }
    },

    hooks:{
        // This hook is called before generatic static html files for SPA mode
        'generate:page': (page) => {
            if(page.path.includes('/amp/')){
                page.html = modify_html(page.html)
            }
        },
        // This hook is called before rendering the html to the browser
        'render:route': (url, page, { req, res }) => {
            if(url.includes('/amp/')){
                page.html = modify_html(page.html)
            }
        }
    }
}

Но Service Worker очень медленный.например:

normal query to the server before service worker

query to the service worker

В этом примере обычный запрос к серверу занимает 1,43 секундыи Service Worker запрос занимает 1,37 секунды.Как я могу сделать Service Worker быстрее?

...