Как правильно предоставить swDest? - PullRequest
0 голосов
/ 20 февраля 2020

Я установил workbox-cli

и, используя приведенную ниже конфигурацию, расположен в config.js

const {InjectManifest} = require('workbox-webpack-plugin');
const path = require('path');

module.exports = {
  webpack: function(config, env) {
    config.plugins.push(
      new InjectManifest({
        globPatterns: ['**/*.{js,css}'],
        swSrc: path.join('public', 'custom-service-worker.js'),
        swDest: 'service-worker.js',
        maximumFileSizeToCacheInBytes: 5000000,
      })
    );
    return config;
  }
} 

и затем запущен

workbox generateSW config.js

Я получаю

Ваша конфигурация неверна:

{"webpack": function (config, env) {\ n config.plugins.pu sh (\ n новый InjectManifest ({\ n> globPatterns: ['** / *. {js, css}'], \ n swSr c: path.join ('publi c', 'custom-service-> worker. js '), \ n swDest:' service-worker. js ', \ n MaximumFileSizeToCacheInBytes:> 5000000, \ n}) \ n); \ n return config; \ n}, "swDest" [ 1]: - отсутствует -}

[1] требуется "swDest"

Я не уверен, что еще делать, потому что я предоставляю swDest

1 Ответ

0 голосов
/ 27 февраля 2020

С моей точки зрения выглядит нормально. Единственное, что мне приходит в голову, это попытаться установить publicPath в ''. Я использую laravel -микс, так что это мой конфиг.

mix.webpackConfig(webpack => {
    return {
        plugins: [
            new WorkboxPlugin.InjectManifest({
                swSrc: './public/sw.js',
                swDest: 'service-worker.js',
                maximumFileSizeToCacheInBytes: 5*1024*1024,
            })
        ],
        output: {
            publicPath: ''
        }
    };
});
...