javascript - 了解 express 以及如何使用它
问题描述
很多时候,我用 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()
?我做错了吗?也许我在那里误解了
我理解的不仅仅是问题,所有问题的答案都会很棒,但我只想对快递和服务器内部的内容有更多的了解
解决方案
我应该在服务器还是客户端执行此操作?有什么好处?
请求另一台服务器时,您必须考虑以下事项:
服务器端:
- 您可以将数据共享给多个客户
- 您可以将算法/秘密保密
- 您可能比您的客户拥有更好的带宽,因此您可以加载大量数据,然后只将必要的数据发送给客户
客户:
- 不消耗您的服务器资源
其次,一旦我有了这些数据,我怎么能把它发送给客户端?即反应组件
您可以使用 AJAX、websockets ( http://socket.io ) 或者您必须使用重定向。
另外,我似乎无法复制此代码并使其在 app.get() 中工作?
如果您希望在客户端看到数据,则必须res.json(json)
.
推荐阅读
- java - 即使在调用者方法中执行之后,@Async 方法也会在 Spring Boot 中执行
- laravel - In new laravel app installing laravel/ui I have no Register and Login links
- postgresql - postgres:命令行SQL:为什么要连接数据库甚至执行一些SQL命令,比如创建一个新数据库
- google-apps-script - 在拼接之前用 TEXT 填充 A 列
- google-fit - REST:数据集聚合返回请求包含无效参数
- c - 递归列出给定目录的所有子目录
- python - 在链表python中初始化一个临时变量
- sql-server - 在另一台计算机上使用数据库部署我的应用程序?
- javascript - MVC如何使用javascript向单选按钮添加客户端验证
- flutter - 如何使用flutter的showModalBottomSheet接收数据并更改其值?