2015-06-25 4 views
0

В NodeJS, что точка установки viewsЧто такое app.set ('views', '/ public'), если у вас есть app.use (express.static (__ dirname + '/ public')) ;?

app.set('views', __dirname + '/public'); 

, когда у вас есть

app.use(express.static(__dirname + '/public')); 

Не они сделать то же самое? Есть ли у вас особенности/преимущества, которых у других нет?

+0

У вас могут быть динамические компоненты на представлениях. Статические файлы - это css, javascript и файлы изображений, которые вообще не меняются. –

+0

Под динамикой вы имеете в виду как ejs? – CodyBugstein

+0

Да, например, ejs или любые другие шаблонные двигатели. –

ответ

1

«Разве они не совершают то же самое?» Они этого не делают.

С app.set('views', …) вы устанавливаете экспресс-х app setting который

Каталог или массив каталогов для представлений приложения. Если массив, представления просматриваются в том порядке, в котором они встречаются в массиве.

Используется функцией .render(), чтобы смотреть виды, которые обычно динамичны, как Jade.

С помощью app.use(express.static(…)) вы определяете промежуточное программное обеспечение, единственной целью которого является обслуживание статических файлов, таких как JS/CSS.

По существу они оба принципиально разные вещи.

+0

Хммм ... поэтому у меня есть приложение с угловыми углами, и оно уже динамично по-своему. Это все в папке. Должен ли я просто указывать свойство 'static' в мою папку« Угловая »? – CodyBugstein

+0

Да, и в действительности динамика здесь, в контексте Express, означает что-то еще, например, такое, которое использует язык шаблонов, например Jade, для генерации HTML (вид). Я предполагаю, что ваше приложение «Угловое» состоит только из файлов HTML и клиентских файлов JavaScript, которые будут просто «статическими» файлами в контексте Express. – laggingreflex

+0

Да точно. благодаря! – CodyBugstein

Смежные вопросы