我正在尝试使用 GET 请求访问本地存储在我的 API 根文件夹中的 JSON 文件,但它一直在等待主机响应资源并且永远不会结束,除非我请求一个不存在的项目。
import express from 'express'
import movies from './movies.json'
const app = express()
const port = process.env.PORT || '3000'
app.get('/', (req, res) => {
res.send('Welcome to Vidly!')
})
app.get('/api/movies', (req, res) => {
res.send(movies)
})
app.get('/api/movies/:id', (req, res) => {
let movie
for (let i = 0; i < movies.length; i++)
if(movies[i].id === parseInt(req.params.id))
movie = movies[i]
if (!movie) {
return res.status(404).send(`Movie ${req.params.id} not found.`)
}
return movie
})
app.listen(port, () => {
console.log(`Listening on http://localhost:${port}`)
})
链接到 movies.json http://dontpad.com/movies.json
最佳答案
我认为你有三个选择:
一个。将 movies.json 重命名为 movies.js 然后像这样导出代码
// movies.js
export default [
...
]
// index.js
import movies from './movies'
B.由于您显然正在使用 babel,因此您可以提供插件 inline-json-import
一试
C.使用文件系统清除JSON文件
const fs = require('fs');
const movies = JSON.parse(fs.readFileSync(`${__dirname}/movies`, 'utf8'));
关于javascript - 为什么我的 API 不读取本地 JSON 文件? ( Node ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52798950/