在 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'
我预计没有错误
如果您的文件系统操作允许(在无服务器环境中它们并不都允许这样做),请尝试使用 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
`;