我正在使用 Netlify CMS。我想将轮播的所有幻灯片导入到我的组件中。我制作了一个名为“滑块”的集合,并添加了一些幻灯片。这创建了两个 Markdown 文件(每张幻灯片一个)public/content/slider/
。我想将它们全部导入到一个可迭代对象中,以便我可以构建轮播。
因为我为 markdown 文件设置了 webpack 加载器,所以我可以毫无问题地导入单个 markdown 文件,如下所示:
import post from '../public/content/posts/[post name].md
但是当我尝试使用需要上下文 https://webpack.js.org/guides/dependency-management/#requirecontext, 要求上下文 https://www.npmjs.com/package/require-context,或导入fs
, 这不好。所以我决定尝试从内部要求这些库getStaticProps
. But __dirname
in getStaticProps
is /
,我的计算机文件系统的根。
All the getStaticProps
示例使用数据获取。我缺少一些信息。如何导入所有markdown文件/slides/
folder?
这是 Next.js 中的一个已知问题(请参阅相关讨论#32236 https://github.com/vercel/next.js/discussions/32236), __dirname
错误地解析为/
- 你应该使用process.cwd()
反而。
来自 Next.js读取文件 https://nextjs.org/docs/api-reference/data-fetching/get-static-props#reading-files-use-processcwd文档:
可以直接从文件系统中读取文件getStaticProps
.
为此,您必须获取文件的完整路径。
由于 Next.js 将您的代码编译到一个单独的目录中,因此您不能
使用__dirname
因为它将返回的路径与
页面目录。
相反,你可以使用process.cwd()
这为您提供了目录
Next.js 正在执行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)