You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用gray-matter时遇ENOENT错误:无法找到./test.md文件

问题原因及解决办法

出现ENOENT错误的核心原因是相对路径解析不符合预期——Node.js(或你使用的框架,比如Next.js)执行page.js时的工作目录,不一定是你看到的page.js所在目录,导致./test.md无法定位到目标文件。

解决办法:

  • 改用绝对路径:借助Node.js的路径模块生成精准的绝对路径,确保能找到test.md:
    • 若项目用CommonJS模块(依赖require导入):
      const path = require('path');
      const matter = require('gray-matter');
      
      // 用__dirname获取当前文件所在目录,再拼接test.md路径
      const testMdPath = path.join(__dirname, './test.md');
      const mdContent = matter.read(testMdPath);
      
    • 若项目用ES模块(依赖import导入,比如Next.js 13+):
      import path from 'path';
      import { fileURLToPath } from 'url';
      import matter from 'gray-matter';
      
      // 先获取当前文件的绝对路径,再推导所在目录
      const __filename = fileURLToPath(import.meta.url);
      const __dirname = path.dirname(__filename);
      const testMdPath = path.join(__dirname, 'test.md');
      const mdContent = matter.read(testMdPath);
      
  • 检查文件状态:确认test.md和page.js在同一目录下,文件名拼写完全一致(注意Linux/macOS系统区分文件名大小写,Windows不区分),没有被误移动到其他文件夹。

内容的提问来源于stack exchange,提问作者Ramy Hazem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 12:42:02