app.zestaw i aplikacja.silnik w Expressie
Podążam za węzłem.Js tutorial .
Dwie linijki, dla których nie jestem pewien to:
app.set('view engine', 'html');
app.engine('html', hbs.__express);
Sprawdziłam dokumentację dla app.set
i mówi mi tylko:
Ale moje pytanie brzmi, Jakie jest znaczenie używania tego. Wygooglowałem go i gdziekolwiekPrzypisuje nazwę ustawienia do wartości.
app.engine
jest używany {[1] } jest wywoływany wcześniej.
Daj mi znać znaczenie używania app.set
przed app.engine
.
EDIT
Znalazłem następującą linijkę, ale nadal Nie wiem, ponieważ używam silnika szablonów za pierwszym razem:
Ale możemy powiedzieć Express, aby traktował pliki HTML jako dynamiczne za pomocą dyrektywy
view engine
, patrz powyżej.
1 answers
Pierwsza linia app.set
informuje Express, którego silnika szablonów użyć: w tym przypadku, html
. Wymaga to zainstalowania silnika szablonów o tej nazwie i aby ten silnik szablonów czuł się odpowiedzialny za pliki z rozszerzeniem .html
.
Jeśli używasz ejs
, na przykład, ta pojedyncza linia wystarczy (chociaż zwykle masz również drugie wywołanie app.set
, które określa katalog, w którym należy szukać plików widoku):
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
/ Align = "left" / silnik szablonu dla innego rozszerzenia, np. chcesz, aby silnik ejs
nie tylko dbał o pliki .ejs
, ale także o Pliki .html
.
W tym przypadku możesz użyć drugiej linii, która mówi Express, że dla plików z rozszerzeniem html
chcesz wywołać funkcję hbs.__express
, aby je renderować(ponieważ w rzeczywistości nie ma silnika szablonów o nazwie html
). Oznacza to zasadniczo, że chcesz, aby silnik hbs
renderował Pliki .html
.
Funkcja __express
jest de facto standard dla silników szablonowych pod węzłem.js, aby był zgodny z Express: tak powinna być nazwana ich funkcja renderowania, aby Express mógł ją łatwo znaleźć (jeśli ma inną nazwę, Możesz również skonfigurować tę funkcję, ale to inna historia).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-09 06:39:14