0

我现在有两台服务器在运行,一台是 NodeJS,另一台是 Angular。NodeJS 监听 3000 端口,Angular 监听 8000 端口。是否可以获取 Angular 网站,然后在 3000 端口进行更新?例如,用户可以打开 localhost:8000 来访问我的 Angular 应用程序。用户是否可以通过我的 NodeJS 服务 localhost:3000 访问 Angular 应用程序。目前,我做了这样的事情:

app.get('/', function (req, res) {
    res.setHeader('Access-Control-Allow-Origin','*');
    request('localhost:8000', function (error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body);
        res.send(body);
      }
   })
});

app.listen(3000, function() {
    console.log('Nodejs service has been invoked');
});

当我访问 localhost:3000 时,什么都看不到,原因是找不到 localhost:3000/assets/css/main.css, localhost:3000/filename。因为这些文件只能在 localhost:8000 找到。

我想不通。希望可以有人帮帮我。

4

1 回答 1

0

您需要调整 LoopBack 的中间件配置server/middleware.json,使其看起来像这样:

{
"initial:before": {
    "loopback#favicon": {}
},
"initial": {
    "compression": {}
},
"session": {},
"auth": {},
"parse": {},
"routes": {
    "loopback#status": {
        "paths": "/status"
    }
},
"files": {
    "loopback#static": {
        "params": "$!../client"
    }
},
"final": {
    "loopback#urlNotFound": {}
},
"final:after": {
    "errorhandler": {}
}
}

上面的文件键是最重要的部分。此设置告诉 LoopBack 服务器从客户端目录提供静态文件。调整此配置后,您可以创建一个 index.html 文件来显示您的内容。

于 2017-08-28T20:14:50.813 回答