在getServerSideProps我的索引页的功能中,我想使用一个foo从另一个本地文件导入的功能,该功能依赖于某个节点库。所述库不能在浏览器中运行,因为它依赖于“仅限服务器”模块,例如fs或request。
我一直在使用以下模式,但想对其进行优化。定义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 的导入,但反之亦然。
如何在 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)