【问题标题】:How do I print console.log on the front-end side with node.js and express如何使用 node.js 在前端打印 console.log 并表达
【发布时间】:2019-09-06 21:28:44
【问题描述】:

我正在学习 node.js 并表达一个副项目。

如何在客户端打印console.log();

我正在做一个 Hello 项目,我有以下代码:

app.get('/', (req, res) => {
  res.send('Hello from App Engine!');
});

为什么当我这样做时,console.log() 不会在客户端打印:

app.get('/', (req, res) => {
  res.send(console.log("test"));
});

【问题讨论】:

  • 你不能。不过,在客户端,您可以记录从服务器获得的响应。
  • 客户端到底是什么?这是我的 HTML 页面吗?这是否意味着我必须在我的首页注入一些 javascript 来监听服务器并记录响应?
  • res.send('console.log("test")');
  • @KevinB 是的,但这只会打印文本console.log("test"),而不是在客户端执行它。

标签: node.js express


【解决方案1】:

https://expressjs.com/en/api.html#res.send

res.send 接受以下类型的参数:

缓冲区对象、字符串、对象或数组

console.log 不返回任何内容,因此不会将任何内容传递给res.send。相反,您可以执行以下操作:

res.send(`
     <!DOCTYPE html>
     <html>
     <body>
        <script>
          console.log(${ "test" /* this can be variable instead */ });
        </script>
     </body>
     </html>
`);

这将输出一个脚本元素,该元素会将某些内容记录到客户端控制台。

【讨论】:

  • 您应该需要发送一个完整的 HTML 页面,而不仅仅是一个 &lt;script&gt; 标记。
  • 而且,遇到无法处理剥离所有常见标签的客户的几率高于所获得的收益。而且,我看到你默默地编辑添加的不仅仅是 &lt;script&gt; 标签。
  • @jfriend00 好的,我修好了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-04
  • 1970-01-01
  • 2021-02-19
  • 1970-01-01
  • 1970-01-01
  • 2015-03-24
  • 2020-06-08
相关资源
最近更新 更多