在我们的项目中,我们使用 webpack-dev-server 来运行我们的开发环境。我们目前正在使用workbox将项目转换为渐进式网络应用程序。
当我们使用 NODE_ENV=production 运行 webpack 时,一切正常,因为它首先编译文件,然后工作箱插件将它们拾取并将它们添加到 service-worker。
当我们热运行 webpack-dev-server 时,运行工作箱插件时构建失败,因为它在 dist 文件夹中找不到任何文件。
问题似乎是工作箱没有拾取内存中生成的 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,
})
]
}
关于这应该如何工作的任何想法