Next.js:如何从getStaticProps中获取静态资源



我正在使用netflix CMS。我想将旋转木马的所有幻灯片导入到我的组件中。我制作了一个名为slider的集合,并添加了一些幻灯片。这在public/content/slider/中创建了两个标记文件(每个幻灯片一个)。我想把它们全部导入到一个可迭代的对象中,这样我就可以构建carousel了。

因为我已经为markdown文件设置了一个webpack加载器,所以我可以导入单个markdown文件,就像这样:

import post from '../public/content/posts/[post name].md

但是当我尝试使用require。context, require-context,或者importfs,都不行。所以我决定尝试从getStaticProps中要求这些lib。但是getStaticProps中的__dirname/,我的计算机文件系统的根目录。

所有getStaticProps示例都使用数据抓取。我漏掉了一些信息。如何导入/slides/文件夹中的所有markdown文件?

这是Next.js中的一个已知问题(参见相关讨论#32236),__dirname错误地解析为/-您应该使用process.cwd()代替。

From Next.js Reading files documentation:

文件可以直接从getStaticProps的文件系统中读取。

为了做到这一点,你必须得到一个文件的完整路径。

因为Next.js将你的代码编译到一个单独的目录中,所以你不能使用__dirname,因为它返回的路径将不同于网页目录。

您可以使用process.cwd(),它给出了您的目录Next.js正在执行

相关内容

  • 没有找到相关文章

最新更新