简单的获取API无法正常工作

时间:2019-01-29 12:55:37

标签: node.js angular express

我有一个带有express和angular节点的项目,无论我做什么我似乎都无法获得最终的产品来正确发出get请求。 我有一个未完成的项目,其中的请求得到了考虑。我真的没有看到两个项目之间的区别。

我的服务器文件:

const express = require('express');
const path = require('path');
const app = express();
const routes = require('./server/routes/routes');


app.use(express.static(path.join(__dirname, 'dist')));
app.use('/routes', routes);

app.get('*', (req, res)=>{
    res.sendFile(path.join(__dirname, 'dist/index.html'))
    });

const port = process.env.PORT || 4600;

app.listen(port, (req, res)=>{
console.log(`RUNNING on port ${port}`);
});

由于请求导致错误

,因此也不会发生控制台日志

enter image description here

我的route.js文件:

const express = require('express');
const router = express.Router();
const axious = require('axios');
const PostAPI = 'https://jsonplaceholder.typicode.com';


router.get('/', (req, res) => {
    axious.get(`${PostAPI}/posts`).then(posts => {
        console.log(posts.data);

         res.status(200).json(posts.data);


     }).catch(error => {
     res.status(500).send(error);
     })
});
module.exports = router;

我在运行应用程序时没有任何错误或任何路径错误。 但是我也再也无法获得API的结果了... 我不确定这里出什么问题了。 我的整个项目的副本位于此github上,因此您可以看到项目的有角部分。

https://github.com/ana-acoss/Node-Express-and-Angular- 我只有在运行我的应用程序时才能得到 enter image description here

我一直在尝试找出问题所在,但还是没有。

1 个答案:

答案 0 :(得分:2)

您的配置正在将响应处理程序映射到/routes,但是随后您在请求/posts吗?我认为您只需要将routes更改为posts,然后再打后端电话即可。

app.use('/routes', routes);

app.get('*', (req, res)=>{
    res.sendFile(path.join(__dirname, 'dist/index.html'))
    });