我有一个带有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}`);
});
由于请求导致错误
,因此也不会发生控制台日志我的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- 我只有在运行我的应用程序时才能得到
我一直在尝试找出问题所在,但还是没有。
答案 0 :(得分:2)
您的配置正在将响应处理程序映射到/routes
,但是随后您在请求/posts
吗?我认为您只需要将routes
更改为posts
,然后再打后端电话即可。
app.use('/routes', routes);
app.get('*', (req, res)=>{
res.sendFile(path.join(__dirname, 'dist/index.html'))
});