Angular 4打印消息到控制台

时间:2017-08-22 10:40:48

标签: angular http typescript

如何从我的Angular App中将一些消息打印到NodeJS Server控制台?

我有一个做一些HTTP调用的Typescript,我想将HTTP端点记录到服务器的控制台,我根本看不到任何打印内容,即使API调用似乎有效。这是我的Typescript文件中的代码片段:

    private fetchAllPowerPlants = "http://localhost:9000/powerPlants?onlyActive=false&page=1";
  loadData() {
    let url = this.fetchAllPowerPlants;
    console.log('******************************************');
    console.log(url);
    console.log('******************************************');
    return this.http.get(url)
      .map(this.extractData)
      .catch(this.handleError);
  }

这就是我在呼叫前端后在控制台中看到的所有内容!

chunk    {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 178 kB {4} [initial]
chunk    {1} main.bundle.js, main.bundle.js.map (main) 13.8 kB {3} [initial] [rendered]
chunk    {2} styles.bundle.js, styles.bundle.js.map (styles) 54.7 kB {4} [initial]
chunk    {3} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.49 MB [initial] [rendered]
chunk    {4} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry]
webpack: Compiled successfully.

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我假设powerPlants是在Node.JS服务器应用程序中配置的REST端点。在节点服务器上记录消息的简单方法是创建另一个端点,例如" /日志":

let express = require("express");

const app = express(); ... app.get('/log/:msg', (req, res) => { console.log(req.params.msg); });
从Angular端,您需要向此端点发出HTTP请求,将消息传递给日志。  由于您的Angular应用程序未部署在节点服务器上(ng服务使用在端口4200上运行的dev服务器),您还需要在客户端上配置代理,以便对端口4200发出的Angular请求将重定向到在端口9000上运行的节点服务器。如果您不熟悉在客户端上配置代理,请从此处开始观看演示文稿的3分钟:https://youtu.be/k8r76d8QzXs?t=2587