Javascript 什么';“使用”的目的是什么&引用;在URL路径中的名称之前?

Javascript 什么';“使用”的目的是什么&引用;在URL路径中的名称之前?,javascript,node.js,express,routing,Javascript,Node.js,Express,Routing,这似乎是一个微不足道的问题,但我已经寻找了一段时间的具体权威的答案,但迄今为止没有出来 我一直在使用express.js,我看到URL的处理程序具有如下路径 app.get("/users/:id", function(req, res) { res.send(req.params) }) 或 但是我不能完全确定在这些情况下在id(或name)之前使用:的目的 我知道,如果我在id之前使用:,id将可用作req.params的参数,即req.params.id。通常id是一个整数,但实

这似乎是一个微不足道的问题,但我已经寻找了一段时间的具体权威的答案,但迄今为止没有出来

我一直在使用express.js,我看到URL的处理程序具有如下路径

app.get("/users/:id", function(req, res) {
    res.send(req.params)
})

但是我不能完全确定在这些情况下在
id
(或
name
)之前使用
的目的

我知道,如果我在
id
之前使用
id
将可用作
req.params
的参数,即
req.params.id
。通常
id
是一个整数,但实际上这并不是严格必需的,它可以是其他任何东西(例如字符串)

我猜在URL路径中的名称之前使用
的原因仅仅是为了表示,我们可以传递任何类型的内容,而不是
:id
:name
<代码>:id或
:name
被视为变量。这个猜测正确吗


处理路由时使用
的目的是什么?我们应该在什么时候使用它?

只指示一个命名变量作为url该部分的占位符。如果没有它,
id
将在url中得到字面上的匹配,并且不会被解释为动态占位符。这就是它的全部。

只是指示一个命名变量作为url该部分的占位符。如果没有它,
id
将在url中得到字面上的匹配,并且不会被解释为动态占位符。这就是一切。

你说得对

仅用于设置路线。它可能是一个
@
或与此相关的任何其他内容。它在route中声明了一个变量

在代码中:

app.get("/users/:id", function(req, res) {
    res.send(req.params)
})
/users/:id
成为路由。这意味着
users/
之后的任何内容都将被此处理程序捕获,并在其内部的
id
变量中可用。它不必是整数

在这里:

路线定义如下:
/users/john/photos/

在本例中,
john
是一个与路由集匹配的变量。

您是对的

仅用于设置路线。它可能是一个
@
或与此相关的任何其他内容。它在route中声明了一个变量

在代码中:

app.get("/users/:id", function(req, res) {
    res.send(req.params)
})
/users/:id
成为路由。这意味着
users/
之后的任何内容都将被此处理程序捕获,并在其内部的
id
变量中可用。它不必是整数

在这里:

路线定义如下:
/users/john/photos/

在这种情况下,
john
是一个与路由集匹配的变量

app.get("/users/:name/photos", function(req, res) {
    res.send(req.params)
})