小编Sam*_*kai的帖子

如何最好地在 Next.js 中导入“仅服务器”代码?

getServerSideProps我的索引页的功能中,我想使用一个foo从另一个本地文件导入的功能,该功能依赖于某个节点库。所述库不能在浏览器中运行,因为它依赖于“仅限服务器”模块,例如fsrequest

我一直在使用以下模式,但想对其进行优化。定义foo为可变以使其在范围内是笨拙的并且似乎可以避免。

let foo;
if (typeof window === "undefined") {
  foo =  require("../clients/foo");
}

export default function Index({data}) {
  ...
}

export async function getServerSideProps() {
  return {
    props: {data: await foo()},
  }
}
Run Code Online (Sandbox Code Playgroud)

这里的最佳做法是什么?是否有可能以某种方式利用 ES6 的动态导入功能?动态导入什么范围内 getServerSideProps

我正在使用 Next.js 版本9.3.6

谢谢。

更新:

似乎 Next.js 自己的动态导入解决方案就是这个问题的答案。我仍在测试它,并会在完成后相应地更新这篇文章。这些文档对我来说似乎很混乱,因为他们提到禁用 SSR 的导入,但反之亦然。

https://nextjs.org/docs/advanced-features/dynamic-import

javascript node.js isomorphic-javascript next.js

8
推荐指数
2
解决办法
1818
查看次数

如何在 git lab 中创建分层 wiki

如何在 GitLab 中创建分层的 wiki 页面

Home
    <Wiki Page 1>
    <Wiki Page 2>
    <Wiki Page 3>
       <Wiki Page 3 - 1>
       <Wiki Page 3 - 2>
    <Wiki Page 4>
Run Code Online (Sandbox Code Playgroud)

wiki gitlab

7
推荐指数
1
解决办法
5227
查看次数