有没有办法从使用 Express 的 Node JS 服务器发送变量,以便我可以在客户端访问它?
我希望这个变量存储来自服务器的本地值并从我的客户端 JavaScript 访问它。
我发现
app.locals.environment = 'myValue'
可以在我的服务器中设置本地值。有什么方法可以在我的客户端访问它吗?我在客户端代码中使用 react 架构。
最佳答案
服务器和客户端是完全独立的实体,仅通过相互发送消息进行通信。
您需要将变量中的数据编码为字符串,然后将其发送到浏览器,浏览器需要准备好处理响应。
通常这些消息通过 HTTP 发送,但有时会使用其他技术(WebSockets 是最常见的)。
您无法从服务器启动 HTTP(它是一个请求->响应系统),但浏览器可以请求包含数据的页面...
- 以嵌入的形式表达
<script>
设置全局变量 - 作为某些元素的属性值(例如
<body data-foo="bar">
)
...或者您可以从浏览器进行 Ajax 响应并提供合适的序列化格式(例如 JSON)。
如果您想从服务器发起请求,请查看 WebSockets(尤其是围绕它们的 Socket.IO)。
关于javascript - 从使用 Express 的 Node JS 服务器导出一个变量,以便我可以在客户端访问它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41463589/