Angular Universal [Node]使用Express变量

时间:2017-03-13 09:29:00

标签: angular angular-universal

我正在尝试构建一个需要调用API的Angular 2通用应用

API目前使用请求的标头来确定它是否是我们的客户群之一(我们是ISP)。

这对于客户端来说非常好,但是对于应用程序的节点端,它始终是服务器的IP。

所以我想知道是否有一种方法可以让Angular Universal App(当作为节点运行时)查询Express(?)以将其从请求标头中拉出来?

1 个答案:

答案 0 :(得分:0)

好的,我已经得到了这个'工作'通过在environment.ts文件中添加IP变量,然后编辑我的server.js

function ngApp(req: any, res: any) {
    environment.ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
    res.render('index', {
        req,
        res,
        ngModule: AppModule,
        preboot: false,
        baseUrl: '/',
        requestUrl: req.originalUrl,
        originUrl: req.hostname
    });
}

现在可以通过我的应用访问了它,但是在1到10的范围内,你会说这有多脏?因为它感觉非常可怕。