2015-04-30 7 views
3

Я запутался в методе app.set(). Насколько я знаю, app.set(), как этоapp.set ('views', __dirname + '/ views') в Express & node.js

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) 

ответ

2
app.set(name, value) 

ЦЕССИОНАРИЯМ настройки имя значения, где имя является одним из свойств с видом app settings table.

Тип : Строка или массив

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

app.set('views', path.join(__dirname, 'views')); 

Это позволит установить ваши приложения просмотра папки на что-то вроде:

/Users/Адиль/Project/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', {}); 
0

views является переменной конфигурацией, которая задает папку, из которой выражает будет захватывать шаблоны. app.get('/admin') также отличается от app.get('variable'). Во-первых, это маршрут GET, который будет прослушивать HTTP-сервер, а второй - только переменная среды express.

0
  1. Метода app.get() и app.set() в express.js не то, что мы привыкли использовать в объектно-ориентированном программировании. Когда мы используем app.get('key') или app.set('key', 'value') в OOP, например java, мы просто хотим установить/получить член объекта.
  2. В express.js, однако, app.set() используется для установки одного из параметров приложения. см.: http://expressjs.com/en/4x/api.html#app.set. Используемые здесь методы app.get() и app.post() относятся к маршрутам и запросу, полученным сервером node.js. например: app.get() относится к GET запросу app.post() относится к POST запросу
Смежные вопросы