W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
本篇文章將教你如何設(shè)置你的應(yīng)用,讓你在每一頁設(shè)定自定義標題和描述,而且當沒有設(shè)定時有一個安全的默認值。
默認值將會在 _harp.json
文件中指定,然后我們將使用 _data.json
文件覆蓋哪些值。
你可以在文檔中找到更多關(guān)于 模板數(shù)據(jù) 的信息。
目錄結(jié)構(gòu):
_harp.json
_data.json
index.jade // or index.ejs
about.jade // or about.ejs
這個例子中,這是我們所希望的:如果一個訪問者請求 index 頁面,我們展示標題和描述的默認值,當他們請求 about 頁面,我們顯示自定義的值。
首先,我們將指定默認值,如果頁面沒有指定具體數(shù)值時,會用到。在你的 _harp.json
中:
{
"globals": {
"title": "My default title",
"description": "My default description"
}
}
在 _data.json
文件中添加你想要為 about 頁面添加的自定義值:
{
"about": {
"title": "Welcome to my about page",
"description": "I’m awesome and so are you"
}
}
現(xiàn)在我們將在 _layout.jade
中使用我們剛剛添加到 _harp.json
中的標題和描述。
doctype
html(lang="en")
head
title= title
meta(name="description" content="#{ description }")
body
!= yield
如果你正在使用 EJS,_layout.ejs
應(yīng)該是這樣的:
<!DOCTYPE html>
<html lang="en">
<head>
<title><%= title %></title>
<meta name="description" content="<%= description %>" />
</head>
<body> <%- yield %> </body>
</html>
現(xiàn)在當你訪問 index 頁面時,Harp 將會渲染 _harp.json
中指定的默認值。
當你訪問 about 頁面時,Harp 將會用 _data.json 中指定的值覆蓋默認的標題和描述變量。
如果你希望在 index 頁面中顯示自定義值,你只需要在 _data.json
文件中添加 index 鍵值,像這樣:
{
"about": {
"title": "Welcome to my about page",
"description": "I’m awesome and so are you"
},
"index": {
"title": "This is my home page",
"description": "Best home page ever"
}
}
記住你并不需要同時覆蓋兩個變量。如果你只覆蓋 title 變量,模板文件將會仍然為 description 變量使用默認值。
_harp.js
中指定的全局變量值,是可以作為模板變量使用的,所以它們可以在任何時候以及任何頁面使用。
當一個 Harp 應(yīng)用試圖渲染一個頁面,它會嘗試將 url 路徑與 _data.json
中的數(shù)據(jù)進行匹配。在這種情況中,它將 URL 路徑中的 about 部分與 _data.json
文件中的 about 鍵值匹配起來。
當 Harp 找到一個匹配時,它會使得當前渲染的模板可訪問那些變量。并且在這種情況中,它會覆蓋我們之前在 _harp.json
中設(shè)置的變量。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: