将一个变量从node.js页面传递给Angular2应用程序

时间:2017-07-26 12:07:54

标签: node.js angular

我正在使用Windows IIS7托管Angular2应用。我上传了Angular2 DIST文件夹内容,应用程序在浏览器中无问题地启动。但是,在Angular2应用程序中,我需要知道登录的用户名。所以我使用node.js来实现这一目标。我在服务器上安装了node.js并使用了iisnode。我的index.js页面包含以下代码。

====================================

var http = require('http');
var fs = require('fs');
var index = fs.readFileSync('index.html');

http.createServer(function (req, res) {
  var username = req.headers['x-iisnode-logon_user'];    

  res.writeHead(200, {'Content-Type': 'text/html'});

  res.end(index);

  //res.end('username: ' + username);

}).listen(process.env.PORT);

=========================================

如果我使用\ index.js调用我的网站,这很有用,我可以从req.header logon_user数据中查看用户名(当我在两条res.end行上切换注释时)。 当我使用res.end(index)时,它也可以正常工作。我使用index.js调用网站,它立即开始启动我的Angular2应用程序(其中index.html是入口点)。但是,我无法弄清楚如何将.js页面发现的用户名放入我的Angular2应用程序中,以便我可以使用它。例如,由于安全问题,它无法附加到URL。

1 个答案:

答案 0 :(得分:0)

  1. 在node.js应用
  2. 中安装Express
  3. 创建将返回当前用户的REST API api/user/
  4. 更改角度代码以向API发出http请求并返回用户名。