有没有办法从我的Node JS服务器发送一个使用express的变量,以便我可以在客户端访问它?
我希望此变量存储来自服务器的本地值,并从我的客户端javascript访问它。
我发现了
app.locals.environment =' myValue'
可以在我的服务器中设置本地值。有没有办法在我的客户端访问它?我在客户端代码中使用了反应架构。
答案 0 :(得分:1)
服务器和客户端是完全独立的实体,只能通过相互发送消息进行通信。
您需要将变量中的数据编码为字符串,然后将其发送到浏览器,浏览器需要准备好处理响应。
通常这些消息是通过HTTP发送的,但有时会使用其他技术(WebSockets是最常见的)。
您无法从服务器启动HTTP(它是请求 - >响应系统),但浏览器可以请求包含数据的页面...
<script>
的形式表示,它设置了一个全局变量<body data-foo="bar">
)...或者您可以从浏览器发出Ajax响应并呈现合适的序列化格式(例如JSON)。
如果要从服务器发起请求,请查看WebSockets(尤其是Socket.IO,它包含它们)。
答案 1 :(得分:0)
你应该从快递阅读response API:res.locals会帮助你