我意识到这可能是一个非常棒的问题,并且有大量关于这件事的文章,但是我很难找到一个对我来说很清楚的解释,这是有道理的。我也没有在stackoverflow中找到这个问题。
我的问题很简单:在express中,app.set和app.use有什么区别?
答案 0 :(得分:2)
我的问题很简单:在express中,app.set和app.use有什么区别?
app.set(name, data)
在app
对象上存储一个命名属性,稍后可以使用app.get(name)
检索该属性。 app.set()
的某些属性名称具有Express doc中描述的预定效果,并且与配置选项类似。
app.use()
注册一个中间件回调,它将成为传入http请求的请求处理程序链的一部分。根据参数,中间件将被调用所有传入请求或仅针对某些请求。
这两个是完全不同的操作,无法直接比较。
答案 1 :(得分:0)
app.use用于注册中间件。例如如果您将路径定义到其他文件并从中创建模块,则可以使用app.use
注册该模块app.set主要用于存储和检索变量。