nextjs我将如何使用 预缓存我的应用程序的所有页面next-pwa?假设我有以下页面:
我希望所有这些都被预先缓存,以便在第一次加载应用程序后它们都可以离线使用。目前我正在使用自定义 webpack 配置将.next/build-manifest.json文件复制到public/build-manifest. 然后,一旦应用程序第一次加载,我就会注册一个activated处理程序来获取build-manifest.json文件,然后将它们添加到缓存中。它有效,但似乎是实现它的一种迂回方式,并且它在某种程度上取决于实现细节。我如何以更规范的方式完成同样的事情?
目前,我的next.config.js文件如下所示
const pwa = require('next-pwa')
const withPlugins = require('next-compose-plugins')
const WebpackShellPlugin = require('webpack-shell-plugin-next')
module.exports = withPlugins([
[
{
webpack: (config, { isServer }) => {
if (isServer) {
config.plugins.push(
new WebpackShellPlugin({
onBuildExit: {
scripts: [
'echo "Transfering files ... "',
'cp -r .next/build-manifest.json public/build-manifest.json',
'echo "DONE ... "',
],
blocking: false,
parallel: true,
},
})
)
}
return …Run Code Online (Sandbox Code Playgroud)