Я был неправ на многих счетах по этому поводу.Файлы не извлекались из кэша даже на локальном хосте.Я неправильно читал вкладку сети инструментов разработчика Firefox.Должно быть ясно, что файлы получены «сервисным работником», когда все работает правильно.
Проблема заключалась в том, где был размещен скрипт сервисного работника.Он должен быть в корне.
Это файл webpack.config.js, который выполнил это (Webpack 4):
const path = require('path');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const dist = 'dist';
const {InjectManifest} = require('workbox-webpack-plugin');
module.exports = {
mode: "production",
entry: {
home:'./src/entry_home.js',
rest:'./src/entry_rest.js',
mini:'./src/entry_mini.js',
},
output: {
//path: path.resolve(__dirname, dist),
path: __dirname+'/dist',
//filename: "[name].[chunkhash].soeez.js",
filename: "[name].0211.js",
publicPath: "/dist/"
},
externals: {
jquery: 'jQuery'
},
module: {
rules: [
//{ test: /\.css$/, use: [ 'style-loader', 'css-loader' ]},
//{ test: /\.jsx$/, loader: 'babel-loader', exclude: /node_modules/ },
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
}
},
]
},
optimization: {
splitChunks: {
cacheGroups: {
commons: {
name: 'common',
chunks: 'initial',
minChunks: 2
}
}
}
},
plugins: [
new CleanWebpackPlugin([
dist + '/*.js'
]),
//new BundleAnalyzerPlugin(),
new InjectManifest({
swSrc: './src/sw_src.js',
swDest: '../sw-dist.0211.js',
}),
]
};