Express app.set与app.use的区别

11

我知道这很可能是一个初学者的问题,也有大量与此相关的文章,但我很难找到一篇对我来说清晰易懂且有意义的解释。我在stackoverflow上也没有找到这个问题。

我的问题很简单:在express中,app.set和app.use有什么区别?

2个回答

24
我的问题很简单:在Express中,app.set和app.use有什么区别? app.set(name, data)会在app对象上存储一个命名属性,以后可以通过app.get(name)来获取。对于一些预定的属性名,app.set()的作用已经在Express文档中描述,并且它们可以像配置选项一样工作。 app.use()注册一个中间件回调函数,将成为处理传入HTTP请求的链的一部分。根据参数不同,中间件将被调用所有传入的请求或只是某些请求。
这两个操作完全不同,无法直接比较。

3

app.use被用于注册中间件。例如,如果您将路由定义到不同的文件中并创建了一个模块,则可以使用app.use来注册该模块。

app.set主要用于存储和检索变量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接