我们想构建一个完全离线的 React Web 应用程序。我们通常使用 NextJS。
我们当前面临的问题是我们无法预缓存应用程序的所有路由,即使它们没有使用 SSR。
例如:
pages
- index.js
- projects
- index.js
- [id.js]
Run Code Online (Sandbox Code Playgroud)
Service Worker 应该预先缓存所有页面 (HTML),以便应用程序立即完全脱机:
我们尝试使用next-offline和next-pwa,但我们只能预缓存静态资产。
有没有人有类似的要求并找到了解决方案?
我正在 Next.Js 项目中开发多语言静态登录页面。我的目标是具有以下结构:
我按以下方式构建它:
页面/index.js
export default function Home() {
return <div>English Homepage</div>
}
Run Code Online (Sandbox Code Playgroud)
页面/de.js
export default function Home() {
return <div>German page</div>
}
Run Code Online (Sandbox Code Playgroud)
为了使网站可以访问,我想相应地设置 html lang。
页面/_document.js
class MyDocument extends Document {
static async getInitialProps(ctx) {
const initialProps = await Document.getInitialProps(ctx)
return { ...initialProps }
}
render() {
return (
<Html lang={???}>
<Head />
<body>
<Main />
<NextScript />
</body>
</Html>
)
}
}
Run Code Online (Sandbox Code Playgroud)
如何指定每页的语言?我尝试过getInitialProps,但这迫使我的网站成为 SSR。