该项目有一个
data
文件夹,其中存储了许多带有配置的 json 文件。根据 api 请求(内置于 nuxt 3 中),我读取某个 JSON 文件(使用 fs
)并输出带有附加数据的结果。在开发模式下它可以工作,但在生产模式下不会保存包含 json 文件的文件夹。如何将文件夹上传到构建?
您可以尝试导入 json 文件,而不是使用 fs 读取。
import data from './folder/file.json' assert { type: 'json' }
这应该有助于捆绑程序知道需要包含这些文件。
这是一个完整的示例。
在 server/api 下创建一个文件,例如 getTitles.js
在根文件夹上创建名为 data 的文件夹,并使用测试 json 文件“test.json”
文件内容
import path from "path";
import fs from 'fs/promises'
export default defineEventHandler(async (event) => {
try {
const r = await fs.readFile(path.join(process.cwd(), 'data','test.json'),'utf-8')
console.log(r);
return r
} catch (error) {
console.error('Upload failed:', error);
}
})
确保服务器文件夹下有包含以下内容的“tsconfig.json”文件。
{
"extends": "../.nuxt/tsconfig.server.json"
}