簡體   English   中英

在express中使用帶有變量聲明的app.get()和app.set()有什么區別?

[英]What is the difference between using app.get() and app.set() with variables declaration in express?

我不明白如果我們只想訪問變量,那么使用app.set和app.get有什么需要。

app.set('title','My title');

var title = app.get('title);

我可以直接將“我的標題”設置為“ title”變量。

var title = 'My title';

這是我在堆棧溢出之前在這里提問之前經歷的問題

app.set()和app.get()是在node.js中管理全局變量的一種方法。 變量在文件內具有局部作用域,如果要從另一個變量訪問它們,則需要從原始文件中導出它們,然后將其導入將使用它們的值的變量中。 對於app.set()和app.get(),情況恰恰相反,您可以導出應用實例,並在任何需要的地方使用與其關聯的值。

您是對的,因為您可能會發現在app對象上設置app.set('title', 'my website')類的屬性可能沒有用(除非出於某種原因,您在代碼的其他地方引用了此屬性,或者您安裝的軟件包需要設置此屬性)。

但是,您必須牢記,設置其他特定的屬性名稱將超出您的期望,並且可能會更改應用程序的行為方式。 例如,設置app.set('trust proxy', true)將通過提供請求的x-forwared-for標頭值來調整req.ip屬性的填充方式(如果您的應用程序位於反向代理,例如CloudFlare等)。

可以在以下ExpressJS文檔中找到這些特殊屬性的列表: http : //expressjs.com/en/api.html#app.set

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM