如何从我的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.
有什么想法吗?
答案 0 :(得分:2)
我假设powerPlants是在Node.JS服务器应用程序中配置的REST端点。在节点服务器上记录消息的简单方法是创建另一个端点,例如" /日志":
let express = require("express");
从Angular端,您需要向此端点发出HTTP请求,将消息传递给日志。
由于您的Angular应用程序未部署在节点服务器上(ng服务使用在端口4200上运行的dev服务器),您还需要在客户端上配置代理,以便对端口4200发出的Angular请求将重定向到在端口9000上运行的节点服务器。如果您不熟悉在客户端上配置代理,请从此处开始观看演示文稿的3分钟:https://youtu.be/k8r76d8QzXs?t=2587
const app = express();
...
app.get('/log/:msg', (req, res) => {
console.log(req.params.msg);
});