pwa Laravel выдает мне не ошибку в консоли, а ошибку в сервисных работниках в кэше

#laravel #progressive-web-apps #service-worker #manifest #cache-manifest

#laravel #progressive-web-apps #service-worker #манифест #кэш-манифест

Вопрос:

в первый раз, когда я делаю PWA, я делаю все, как https://github.com/silviolleite/laravel-pwa и все это хорошо в консоли, но допускает ошибку в манифесте и сервисных работниках

мой проект path :

 _config
 |_laravelpwa.php
_resources
 |_views
  |_vendor
   |_laravelpwa
    |_meta.blade.php
_index.php
_serviceworker.js
 

meta.blade.php все того же ожидают

 <script type="text/javascript">
    // Initialize the service worker
    if ('serviceWorker' in navigator) {
        navigator.serviceWorker.register('/serviceworker.js', {
            scope: '.'
        }).then(function (registration) {
            // Registration was successful
            console.log('Laravel PWA: ServiceWorker registration successful with scope: ', registration.scope);
        }, function (err) {
            // registration failed :(
            console.log('Laravel PWA: ServiceWorker registration failed: ', err);
        });
    }
</script>
 

laravelpwa.php

 <?php

return [
    'name' => 'baskotii',
    'manifest' => [
        'name' => 'baskotii',
        'short_name' => 'baskotii',
        'start_url' => '/',
        'background_color' => '#ffffff',
        'theme_color' => '#000000',
        'display' => 'standalone',
        'orientation'=> 'any',
        'status_bar'=> 'black',
        'icons' => [
            '72x72' => [
                'path' => asset('assets/front/img/logo72.png'),
                'purpose' => 'any'
            ],
            '96x96' => [
                'path' => '/public/images/icons/icon-96x96.png',//asset('assets/front/img/logo96.png'),
                'purpose' => 'any'
            ],
            '128x128' => [
                'path' => asset('assets/front/img/logo128.png'),
                'purpose' => 'any'
            ],
            '144x144' => [
                'path' => asset('assets/front/img/logo144.png'),
                'purpose' => 'any'
            ],
            '152x152' => [
                'path' => asset('assets/front/img/logo152.png'),
                'purpose' => 'any'
            ],
            '192x192' => [
                'path' => asset('assets/front/img/logo192.png'),
                'purpose' => 'any'
            ],
            '384x384' => [
                'path' => asset('assets/front/img/logo384.png'),
                'purpose' => 'any'
            ],
            '512x512' => [
                'path' => asset('assets/front/img/logo512.png'),
                'purpose' => 'any'
            ],
        ],
        'splash' => [
            '640x1136' => '/images/icons/splash-640x1136.png',
            '750x1334' => '/images/icons/splash-750x1334.png',
            '828x1792' => '/images/icons/splash-828x1792.png',
            '1125x2436' => '/images/icons/splash-1125x2436.png',
            '1242x2208' => '/images/icons/splash-1242x2208.png',
            '1242x2688' => '/images/icons/splash-1242x2688.png',
            '1536x2048' => '/images/icons/splash-1536x2048.png',
            '1668x2224' => '/images/icons/splash-1668x2224.png',
            '1668x2388' => '/images/icons/splash-1668x2388.png',
            '2048x2732' => '/images/icons/splash-2048x2732.png',
        ],
        'shortcuts' => [
            [
                'name' => 'baskotii',
                'description' => 'baskotii',
                'url' => '/',
                'icons' => [
                    "src" => '/public/images/icons/icon-96x96.png',
                    "purpose" => "any"
                ]
            ]
        ],
        'custom' => []
    ]
];

 

Я использую свой img и img по умолчанию и делаю то же предупреждение

результат:

консоль

 Laravel PWA: ServiceWorker registration successful with scope:  https://baskotii.ae/
 

и это в serviceworker.js: 1

 Uncaught (in promise) TypeError: Failed to execute 'Cache' on 'addAll': Request failed
 

предупреждение манифеста

ошибка сервисных работников

Ответ №1:

Попробуйте обновить URL в serviceworker.js Вот так


 var filesToCache = [
    'css/app.css',
    'js/app.js',
    'images/icons/icon-72x72.png',
    'images/icons/icon-96x96.png',
    'images/icons/icon-128x128.png',
    'images/icons/icon-144x144.png',
    'images/icons/icon-152x152.png',
    'images/icons/icon-192x192.png',
    'images/icons/icon-384x384.png',
    'images/icons/icon-512x512.png',
];