0

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

这是我的测试代码:

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 。

我似乎找不到我的错误。

谁能帮我弄清楚我做错了什么?

先感谢您。

4

1 回答 1

1

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

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

Nats 连接文档:

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

于 2021-05-17T07:03:27.457 回答