微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试代理到以下主机时发生错误:localhost:4200 / api / v1 / generate_uid

如何解决尝试代理到以下主机时发生错误:localhost:4200 / api / v1 / generate_uid

我正在按照教程(https://levelup.gitconnected.com/simple-application-with-angular-6-node-js-express-2873304fff0f)使用Angula CLI,Node.js和Express创建应用程序。我使用代理启动应用程序,定义代理的文件如下所示:

{
  "/api/*": {
    "target": "http://localhost:3000","secure": false,"logLevel": "debug","changeOrigin": true
  }
}

我用来启动应用程序的命令是这样的:

ng serve --proxy-config proxy.conf.json

该教程说:

All requests made to /api/... from within our application will be forwarded to http://localhost:3000/api/...

说实话,我真的不知道它应该如何工作,因为当我启动该应用程序时,我仍然使用URL:http:// localhost:4200 /。

但是直到现在我都没有问题。我刚刚在端点/ api / v1 / generate_uid上使用Express.js创建了一条路由。

但是问题是当我转到http:// localhost:4200 / api / v1 / generate_uid时,它显示了此消息:

Error occured while trying to proxy to: localhost:4200/api/v1/generate_uid .

以下是我在控制台中收到的消息:

[HPM]尝试将请求/ api / v1 / generate_uid从localhost:4200代理到http:// localhost:3000(ECONNREFUSED)(https://nodejs.org/api/errors.html#errors_common_system_errors

时发生错误

当我访问http:// localhost:3000时,总是说连接失败。

有关更多参考,以下是我的快速API的app.js和定义路由的generate_uid.js

app.js

var express = require('express');
var uid = require('uid-safe');

var router = express.Router();

router.get('/',function(req,res,next) {
    var strUid = uid.sync(18);
    res.json({guid: strUid});
});

module.exports = router;

generate_uid.js

var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var users = require('./routes/users');
var generate_uid = require('./routes/generate_uid');

var app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser())

app.use('/api/v1/users',users);
app.use('/api/v1/generate_uid',generate_uid);

module.exports = app;

所以我真的不知道解决方案是什么。预先感谢您的回答!

解决方法

如评论中所述,看来app没有.listen()函数,这对于绑定到端口非常重要。

app.listen(3000,() => {
  console.log("Server started in port 3000!");
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。