javascript - 为什么我的 API 不读取本地 JSON 文件? ( Node )

标签 javascript node.js json http express

我正在尝试使用 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/

相关文章:

javascript - 如何在元素添加到 DOM 时立即获得焦点

Javascript:如何检查输入是否正确

javascript - 除以 anchor 字符串值?

javascript - Node.js 服务器解释的未定义 HTTP GET 请求

javascript - dev key 在 fs.Stat 和 nodejs 返回的对象中代表什么

javascript - 单击按钮时折叠面板 - bootstrap

javascript - 如何在服务器重启后存储带有 Passport 的连接用户?

c - Fedora 和 ubuntu 中的库相同但名称不同?

javascript - 从 php 文件中去除空格

json - 纠结于如何使用 api 响应进行调用以从不同的链接检索响应