Еще один блог :)

Вопросы по Express

  1. Что такое Express?
  2. Перечислите особенности Express
  3. Какие типы приложений можно создавать
  4. Опишите примерный цикл приложения
  5. Как установить Express
  6. Как получить GET параметры
  7. Как получить POST параметры
  8. Как отформатировать красиво HTML
  9. Как получить полный URL
  10. Как отключить отладку
  11. Как обработать ошибку 404
  12. Как запросить файл
  13. Для чего нужен next
  14. Для чего еще нужен next

 

1.  Express - это основанный на платформе NodeJS  легковесный веб-фреймворк для быстрой разработки приложений.

2. Особенности NodeJS

а) использование промежуточных компонент

б) реакция на HTTP/RESTful запросы

в) возможность определить маршрутизацию

г) динамическое отображение ответа на основе передачи аргументов в шаблоны

д) доступ ко всем пакетам платформы 

е) работа в режиме "тонкий клиент"

ж) приемлемая производительность

з) архитектура "модель-представление-контроллер" MVC

и) единообразное обслуживание всего жизненного цикла от разбора параметров запроса и маршрутизации до отправки кода ответа и содержания ответа

3.  Express позволяет разработать как мобильные, так и веб- приложения.  Веб-приложения в свою очередь можно разделить на одностраничники (SPA), многостраничники (MPA) и гибридные приложения

4) Основная структура приложения Express

1. Подключить модули

2. Задать маршрутизацию

3. В обработчиках разобрать параметры

4. Выполнить запросы к базе, если необходимо

5. Обработать результат.

6. Отправить данные в шаблон ответа

7. Отправить код ответа и заполненный шаблон клиенту

8. Прослушивать запросы на определенном порту. Можно разрывать соединение после ответа или не делать это (keep alive)

4)  Пример получения GET параметров

var express = require('express')

var app = express();

app.get('/', function(req, res){

res.send('id:', req.query.id);

});

app.listen(3000);

5) Чтобы получить POST параметры, необходимо подключить body-parser

var bodyParser = require('body-parser');

app.use( bodyParser.json());

app.use( body.parser.urlencoded( { extended : true });

6) Воспользоваться ключом pretty к атрибуту view options приложения с помощью метода set

app.set( 'view options', { pretty : true });

7) Получение полного URL

var port = app.req.setting.port || cfg.port;

res.locals.requested_url = req.protocol + "://
  + req.host + (( port == 80 || port == 443 ) ? ":" : ':' + port) + req.path;

11) 404 ошибка

app.get('*', function(req, res){

app.send('404 Not found', 404);

});

12) Для удаления отладки

var io = require('socket.io').listen(app, {log : false});

io.set('log level', 1);

13) Чтобы скачать файл нужно использовать метод download объекта ответ

app.get('/download', function(req, res){

var file = __dirname + '/download/file.txt';

res.download(file);

});

 

14) Для чего служит параметр next

next передает управление следующему подходящему маршруту по цепочке или прервать текущий обработчик

Опубликовано в категории Вопросы и ответы к собеседования

×