【问题标题】:Understanding express and how to use it了解 express 以及如何使用它
【发布时间】:2018-12-03 10:45:36
【问题描述】:

很多时候我用 express 创建了应用程序,我只是在一个端口上启动一个服务器,然后在客户端做所有的事情。是否使用 fetch/axios 获取、渲染数据,甚至更改路由(react-router)。到目前为止,我从未深入探索过节点或服务器部分……希望如此。

我部分了解它的作用。就

而言

app.get('/', (req, res) => res.send('Hello World!'))

这只是将响应发送到浏览器窗口。我什至设法做到了:

app.listen(port, () => {
    console.log("Listening");

    fetch(url, {

    }).then((res => res.json()))
    .then((json => console.log('json')))
    .catch(() => {
        console.log("bbb");
    });
});

这会将所有数据记录到服务器窗口中。但是,我有几个问题

我应该在服务器还是客户端执行此操作?有什么优势?

其次,一旦我有了这些数据,如何将其发送给客户端?即一个反应组件

另外,我似乎无法复制这段代码并让它在app.get() 中工作?我做错了吗?可能我理解错了

我理解的不仅仅是问题,所有问题的答案都很好,但我只想对 express 和服务器内部的内容有更多的了解

【问题讨论】:

  • 我应该在服务器还是客户端执行此操作?” “this”指的是什么?恐怕您的问题非常广泛,通常阅读有关 nodejs、动态内容和类似内容的教程和文档。

标签: javascript reactjs express server


【解决方案1】:

我应该在服务器还是客户端执行此操作?有什么优势?

在请求另一台服务器时,您必须考虑以下事项:

服务器端:

  • 您可以将数据共享给多个客户端
  • 您可以将算法/机密保密
  • 您可能拥有比您的客户端更好的带宽,因此您可以加载大量数据,然后只将必要的数据发送给客户端

客户:

  • 不消耗您的服务器资源

其次,一旦我有了这些数据,如何将其发送给客户端?即一个反应组件

您可以使用 AJAX、websockets (http://socket.io) 或者您必须使用重定向。

另外,我似乎无法复制这段代码并让它在 app.get() 中工作?

如果您希望在客户端看到数据,您必须res.json(json)

【讨论】:

  • 好的,这真的很有帮助,谢谢。一个问题,就最后一点。你说什么有效,但是当我说发送给客户端时,我的意思是,通过将其发送到组件然后让客户端呈现它,是否有可能/正确的方式来做事?目前它只是实际出现在浏览器窗口中。我想知道是否可以将数据发送到我的 react 组件状态,然后对其进行处理?
  • 好的,谢谢,你能给我一个好的 AJAX 链接吗?会接受你的回答
猜你喜欢
  • 2012-08-21
  • 1970-01-01
  • 1970-01-01
  • 2019-12-03
  • 2012-07-16
  • 2018-04-13
  • 1970-01-01
  • 2022-01-04
  • 2015-11-17
相关资源
最近更新 更多