![](/img/trans.png)
[英]What is the point of app.set('views', '/public') if you have app.use(express.static(__dirname + '/public'));?
[英]app.set('views', __dirname + '/views') in Express & node.js
我對app.set()方法感到困惑。 據我所知,app.set()是這樣的
app.get('title');
// => undefined
app.set('title', 'My Site');
app.get('title');
// => "My Site"
但是在教程中,制作'views'文件夾並像這樣使用。
app.set('views', __dirname + '/views')
app.get('/') or app.get('/admin')
不應該這樣嗎?
app.get(views)
app.set(name, value)
將設置名稱指定給value,其中name是應用程序設置表中的一個屬性。
意見
類型: 字符串或數組
應用程序視圖的目錄或目錄數組。 如果是數組,則按照它們在數組中出現的順序查找視圖。
app.set('views', path.join(__dirname, 'views'));
這會將您的應用視圖文件夾設置為:
/用戶/阿迪爾/項目/對myApp /意見
當您實際使用視圖時, view
名稱將成為文件路徑, minus the root directory
和文件擴展名。 例如,如果您具有以下文件結構:
/views/
/views/index.hbs
/views/news/
/views/news/index.hbs
/views/news/article1.hbs
/views/news/article2.hbs
您將按如下方式呈現視圖:
res.render('index', {});
res.render('news/index', {});
res.render('news/article1', {});
res.render('news/article2', {});
app.get()
和app.set()
不是我們習慣在OOP中使用的方法。 當我們在像OOP這樣的OOP中使用app.get('key')
或app.set('key', 'value')
時,我們只想設置/獲取一個對象的成員。 app.set()
用於設置其中一個應用程序設置。 請參閱: http : //expressjs.com/en/4x/api.html#app.set 。 這里使用的app.get()
和app.post()
方法引用node.js服務器接收的路由和請求。 例如: app.get()
引用GET
請求, app.post()
引用POST
請求 views
是一個配置變量,用於設置express將從中獲取模板的文件夾。 app.get('/admin')
也與app.get('variable')
。 首先是GET路由,它會監聽HTTP Server,第二個是express的環境變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.