带有NATS的Nodejs Express API?

问题描述

我正在尝试使用nodejs + express + nat为我的前端应用程序构建REST API。 我的终端中运行着一个nats服务器。

这是我的测试代码

var express = require("express");
var app = express();
const NATS = require('nats');
const nc = NATS.connect();
nc.on('connect',() => {
    console.log('connected');
})

nc.publish('foo','Hello World!');

app.get('/',(req,res) => {
    nc.subscribe('foo',function (msg) {
        res.send(msg)
    });
});

app.listen(3000,() => {
 console.log("Server running on port 3000");
});

运行测试代码后,无法访问localhost:3000。

我在github上找到了一个类似的项目:https://github.com/georgehaidar/poc-express-nats/blob/master/api.js

我似乎找不到我的错误

有人可以帮我弄清楚我做错了什么吗?

谢谢。

解决方法

您似乎没有像原作者那样为 nats.connect() 方法提供主机名:

const nats = require('nats').connect({'servers': ['nats://nats:4222']})

Nats 连接文档:

https://docs.nats.io/developing-with-nats/connecting/specific_server