node.js - Node 快车 : does order of calls matter?

标签 node.js express

Node Express 文档给出了 hello-world example :

var express = require('express')
var app = express()

app.get('/', function (req, res) {
  res.send('Hello World!')
})

app.listen(3000)

listen() 和 get() 的顺序重要吗? (它们可以交换吗?)如果在第一次调用后再次调用 get()listen() 会发生什么情况?

最佳答案

让我们来解构这个例子:

app.listen(3000)

此行将您的应用程序连接到端口,在本例中为 3000。您可以通过输入 http://localhost:3000 来访问它。 ,您通常不想更改应用程序在执行期间运行的端口。

app.get('/', function (req, res) {
  res.send('Hello World!')
})

这基本上是一个监听器,当您向/路由发出 GET 请求时将调用它。当您在浏览器中输入网址时,它会告诉您的应用程序要回答什么。

无论应用程序是否正在运行,它都会附加到应用程序对象,因此可以在监听之前、之后或完全写入另一个文件中。

在一种奇怪的情况下,您在同一条路线上有第二个监听器,其中一个监听器将不会被执行。如果您确实想知道哪个优先,我建议您自己测试一下,这是一个示例代码:

app.get('/', function (req, res) {
  res.send('Will I be executed?')
});


app.get('/', function (req, res) {
  res.send('or maybe I will?')
});

app.listen(3000)

关于node.js - Node 快车 : does order of calls matter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40860387/

相关文章:

javascript - 在 Node.js/Express 中,我如何 "download"一个页面并获取它的 HTML?

javascript - 可选的链接运算符在将我的应用程序构建到 Heroku 时给出 SyntaxError 但在我的机器上工作

javascript - 如何使用finally通过promise链传递变量

visual-c++ - 命令行上的MSVC 2008 Express

angularjs - Nodejs 和 Express : How to send multiple Json variable from server to Client through response. 发送()

node.js - 将字符串转换为数字 node.js

javascript - 如何使用查询字符串 promise GET 请求?

javascript - Express.js - 管理所有路线的单一路线文件

css - 无法在 Chrome 中使用 @font-face 在 Stylus 中定义的类中呈现字体

javascript - 使用额外字段引用 Mongoose 中的另一个模式