node.js - Next.js:如何从 getStaticProps 中获取静态资产
问题描述
我正在使用 Netlify CMS。我想将轮播的所有幻灯片导入到我的组件中。我制作了一个名为滑块的集合并添加了一些幻灯片。这在public/content/slider/
. 我想将它们全部导入一个可迭代的对象,以便构建轮播。
因为我为 Markdown 文件设置了 webpack 加载器,所以我可以毫无问题地导入单个 Markdown 文件,如下所示:
import post from '../public/content/posts/[post name].md
但是当我尝试使用require.context、require-context或 importfs
时,就不好了。所以我决定尝试从内部要求这些库getStaticProps
。但__dirname
在getStaticProps
is 中/
,我的计算机文件系统的根目录。
所有getStaticProps
示例都使用数据获取。我缺少一些信息。如何导入文件/slides/
夹中的所有降价文件?
解决方案
这是Next.js 中的一个已知问题,__dirname
错误地解析为/
- 您应该process.cwd()
改用。
从 Next.js阅读文件文档:
文件可以直接从
getStaticProps
.为此,您必须获取文件的完整路径。
由于 Next.js 将您的代码编译到一个单独的目录中,因此您不能使用
__dirname
它,因为它将返回的路径将与 pages 目录不同。相反,您可以使用
process.cwd()
which 为您提供执行 Next.js 的目录。
推荐阅读
- c++ - 使用 C++ 写入 JSON 文件?
- computer-vision - 如何将 LSTM 输出反馈到 pytorch 数据加载器中的输入
- python - PDFMiner Version diffs?Getting UnsupportedOperation: seek
- javascript - 将 onmount json 传递给变量
- xcode - 导航控制器的视图控制器按钮将我带到全新的窗口,而不是下一页。为什么会这样?
- javascript - 所有迭代完成后如何获得计数?
- yaml - 如何使用 shell 脚本将新配置文件附加到 configtx.yaml 文件?
- c++ - 使命名空间内联时,使用 using 指令进行限定名称查找的不同行为
- javascript - 如何构建访问外部变量的函数对象?
- sql - 在没有子查询的情况下连接具有不同 ID 的同一列的多个值 - SQL Server