从我的Node JS服务器导出一个使用express的变量,以便我可以在客户端访问它?

时间:2017-01-04 12:14:37

标签: javascript node.js reactjs express

有没有办法从我的Node JS服务器发送一个使用express的变量,以便我可以在客户端访问它?

我希望此变量存储来自服务器的本地值,并从我的客户端javascript访问它。

我发现了

  

app.locals.environment =' myValue'

可以在我的服务器中设置本地值。有没有办法在我的客户端访问它?我在客户端代码中使用了反应架构。

2 个答案:

答案 0 :(得分:1)

服务器和客户端是完全独立的实体,只能通过相互发送消息进行通信。

您需要将变量中的数据编码为字符串,然后将其发送到浏览器,浏览器需要准备好处理响应。

通常这些消息是通过HTTP发送的,但有时会使用其他技术(WebSockets是最常见的)。

您无法从服务器启动HTTP(它是请求 - >响应系统),但浏览器可以请求包含数据的页面...

  • 以嵌入式<script>的形式表示,它设置了一个全局变量
  • 作为某个元素的属性值(例如<body data-foo="bar">

...或者您可以从浏览器发出Ajax响应并呈现合适的序列化格式(例如JSON)。

如果要从服务器发起请求,请查看WebSockets(尤其是Socket.IO,它包含它们)。

答案 1 :(得分:0)

你应该从快递阅读response API:res.locals会帮助你