В нашем проекте мы используем webpack-dev-server для запуска нашей среды разработки. В настоящее время мы преобразуем проект в прогрессивное веб-приложение с использованием рабочего блока.
Когда мы запускаем webpack с NODE_ENV=production, все работает нормально, так как он сначала компилирует файлы, а затем плагин workbox их подхватывает и добавляет в сервис-воркер.
Когда мы запускаем webpack-dev-server в горячем режиме, сборка завершается сбоем при запуске плагина workbox, поскольку он не может найти файлы в папке dist.
Похоже, проблема в том, что workbox не собирает файлы js и css, которые создаются в памяти, и, похоже, нуждаются в файлах в файловой системе.
module.exports = {
context: path.resolve(__dirname, 'front'),
entry: [
...preEntries,
'./react/app.js'
],
output: {
path: path.resolve(__dirname, 'front-dist'),
filename: `react/app.${git.gitCommitAbbrev}.js`,
chunkFilename: `react/[id].app.${git.gitCommitAbbrev}.js`,
publicPath: '/glass/'
},
devtool: isProdEnv ? false : 'eval-source-map',
stats: {
chunkModules: false
},
module: {
...
},
plugins: [
new WorkboxPlugin({
globDirectory: path.resolve(__dirname, 'front-dist'),
globPatterns: ['**/*.{html,js,css,woff2}'],
swDest: path.join(path.resolve(__dirname, 'front-dist/sw/'), 'service-worker.js'),
handleFetch: true,
clientsClaim: true,
skipWaiting: true,
})
]
}
Любая идея о том, как это должно работать