gpt4 book ai didi

javascript - Node js fs 在 console.log 上显示未定义

转载 作者:行者123 更新时间:2023-12-05 05:45:54 25 4
gpt4 key购买 nike

我正在开发 Next js 博客,我已经完成了前端,我正在使用下一个 js 制作后端

./pages/api

我做了一个文件

./pages/api/blogs.js

我在 ./data 文件夹中制作了一些 json 文件作为虚拟数据

./data/hello.json
{
"title" : "This is hello",
"description" : "This is description",
"content" : "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Iusto quasi error cumque iure tempore officiis quaerat rerum delectus hic reprehenderit. Iure, eveniet repudiandae. Consequuntur obcaecati eius sequi similique officia beatae quibusdam blanditiis."
}

我把这段代码写在./pages/api/blogs.js

import * as fs from 'fs'

export default function handler(req, res) {
fs.readFile("../../data/hello.json", (err,data)=>{
console.log(data)
})
res.status(200).json({"name" : "Shivam Bhai"})
}

但我的服务器控制台显示未定义。我还尝试在控制台上记录错误,这是结果

    [Error: ENOENT: no such file or directory, open 'C:\projects\data\hello.json'] {
errno: -4058,
code: 'ENOENT',
syscall: 'open',
path: 'C:\\projects\\data\\hello.json'
}

但是我做了这个目录。 screenshot of the filesystem used in project我该如何解决这个问题?

最佳答案

你应该这样使用地址:

import * as fs from 'fs'

export default function handler(req, res) {
fs.readFile("data/hello.json", (err,data)=>{
console.log(data)
})
res.status(200).json({"name" : "Shivam Bhai"})
}

使用 __dirname 寻址总是一个好主意,如下所示:

import * as fs from 'fs'

export default function handler(req, res) {
fs.readFile(__dirname + "/../../data/hello.json", (err,data)=>{
console.log(data)
})
res.status(200).json({"name" : "Shivam Bhai"})
}

关于javascript - Node js fs 在 console.log 上显示未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71276084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com