在 next.js 无服务器函数中导入 fs 会出现错误

问题描述 投票:0回答:1

在 Next.js 14 中,我尝试在无服务器函数中导入“fs”:

import fs from "fs";
import path from 'path';


export async function POST(req: Request) {

  const promptTemplate = fs.readFileSync(path.join(process.cwd(),"../../src/prompt.txt"), "utf8");
  console.log("promptTemplate", promptTemplate);
  ...
}

但是编译器报错:

Module not found: Can't resolve 'fs'

我预计没有错误

next.js serverless
1个回答
0
投票

如果您的文件系统操作允许(在无服务器环境中它们并不都允许这样做),请尝试使用 fs.Promise,例如在 JavaScript 中: 从 'fs' 导入 { Promise as fs } ; 从“路径”导入路径;

export async function POST(req: Request) {
  const promptTemplate = await fs.readFile(path.join(process.cwd(), "../../src/prompt.txt"), "utf8");
  console.log("promptTemplate", promptTemplate);
  // ...
}

对于不经常更改的小文件,您可以尝试将其作为字符串文字直接嵌入到代码中。不是最佳实践,但如果它永远不会改变...... 所以,在 JavaScript 中:

const promptTemplate = `
  Your file content here
`;
© www.soinside.com 2019 - 2024. All rights reserved.