问题描述
我正在尝试使用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