Express中的app.get(name)与app.get(path,,callback)

我是Express的新手,从API文档看来,我们似乎有两个app.get()方法来获取variables的值,另外我们大多数人都熟悉处理http GET请求。

这两者有什么区别? Express如何知道我们想要哪一个? 他们实际上是相同的function?

这是相同的function。 express决定根据调用做什么。

get()的代码从下面开始:

 if (1 == arguments.length) ... 

如果它与get(name)签名匹配,则返回一个先前set()值; 如果它匹配路由签名,它将绑定到一个函数的path。

快速检查参数的数量。 1 == arguments.length如果它是1,那么它知道它是为了获取值。

实际上get()也是以类似的方式重写set()。