javascript - 为什么我的 API 不读取本地 JSON 文件?(NodeJS)
问题描述
我正在尝试使用 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
解决方案
您需要实现一个静态文件处理程序https://expressjs.com/en/resources/middleware/serve-static.html将您的 JSON 提供给客户端。
推荐阅读
- git - GitHub 版本中的 RaspberryPI OS?
- java - 通过@Autowired 访问时的 NPE
- python-3.x - 使用 Psycopg 2 转义 postgres 相似性运算符 (%)
- reactjs - 如何将数组的元素放在复选框中?
- caching - amp-pixel 在 AMP 缓存中丢失
- r - 如何将阶乘变量转换为 r 中的存在-不存在数据?
- java - 为什么我在更改屏幕并在 Libgdx 中绘制 Sprite 后得到 NPE
- google-app-engine - 如何更改 Google App Engine 中的部署网页?
- html - 仅在使用纯 css 滚动过去某个点后,如何打开混合混合模式?
- gulp - 更改 gulp 的 dest 文件夹