Прошу прощения, если вопрос уже был найден, и что на него есть ответ, но в исследовании intenert я не нашел ничего, что работало.
Вот моя проблема, я начал с рабочего окна, и я попытался интегрировать его в свое приложение Symfony 4, которое все еще использует веб-пакет, но не работает должным образом. Итак, я попытался сгенерировать сервис-воркер с помощью cli, но все еще не могу заставить его работать.
Конфигурация моего веб-пакета на бис:
const Encore = require('@symfony/webpack-encore');
const CompressionPlugin = require('compression-webpack-plugin');
const {GenerateSW, InjectManifest} = require('workbox-webpack-plugin');
const path = require('path')
Encore
.setOutputPath('public/build/')
.setPublicPath('/build')
.addEntry('app', './assets/js/app.js')
.addEntry('cart', './assets/js/cart.js')
.addEntry('site', './assets/js/site.js')
.cleanupOutputBeforeBuild()
.enableBuildNotifications()
.enableSourceMaps(!Encore.isProduction())
.enableVersioning(Encore.isProduction())
.enableSassLoader()
.enableVueLoader(() => {}, { runtimeCompilerBuild: false })
.addLoader({
test: /\.exec\.js$/,
loader: 'script-loader'
})
.autoProvidejQuery()
.autoProvideVariables({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
})
.enableSingleRuntimeChunk()
.addPlugin(new CompressionPlugin())
.addPlugin(new GenerateSW({swDest: 'sw.js'}))
.addPlugin(new InjectManifest({
swSrc: 'sw.js',
exclude: [
/\.map$/,
/manifest$/,
/\.htaccess$/,
/service-worker\.js$/,
/sw\.js$/,
],
}));
module.exports = Encore.getWebpackConfig();
для ошибки создания веб-пакета я обнаружил это: https://github.com/GoogleChrome/workbox/issues/1513 но
После cli generateSW у меня появляется эта ошибка:
error
Can't find self.__WB_MANIFEST in your SW source.
для манифеста wb я нашел это: Рабочая панель Webpack Не могу найти self .__ WB_MANIFEST в исходном ПО, но у меня не работает
Я думаю, что проблема связана с URL-адресом, созданным веб-пакетом, и я нашел это: Не удается установить сервисный воркер workbox-webpack-plugin в корневой URL-адрес для приложения React, он устанавливается на localhost: 8080 / dist Но я не вижу как это помогает мне в моей конфигурации.
Я пробовал использовать path.resolve (потому что на форуме я видел работу), но у меня это не работает, я получаю эту ошибку:
Can't find self.__WB_MANIFEST in your SW source.
Спасибо за помощь !