小编Mar*_*ner的帖子

NextJs 中的 PWA 支持

我们想构建一个完全离线的 React Web 应用程序。我们通常使用 NextJS。

我们当前面临的问题是我们无法预缓存应用程序的所有路由,即使它们没有使用 SSR。

例如:

pages
 - index.js
 - projects
   - index.js
   - [id.js]
Run Code Online (Sandbox Code Playgroud)

Service Worker 应该预先缓存所有页面 (HTML),以便应用程序立即完全脱机:

  • /
  • /项目
  • /项目/123
  • /项目/???

我们尝试使用next-offlinenext-pwa,但我们只能预缓存静态资产。

有没有人有类似的要求并找到了解决方案?

reactjs service-worker progressive-web-apps next.js workbox

8
推荐指数
1
解决办法
3886
查看次数

静态生成的 Next.js 页面中的动态 HTML lang 属性

我正在 Next.Js 项目中开发多语言静态登录页面。我的目标是具有以下结构:

  • / -> 英文主页
  • /de -> 德语主页
  • /it -> 意大利语主页

我按以下方式构建它:

页面/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。

reactjs next.js

6
推荐指数
1
解决办法
3588
查看次数