Express.js - это платформа веб-приложений для Node.js, предназначенная для создания веб-приложений. В этой серии статей я шаг за шагом объясню, как я реализовал экспресс-сервер с некоторыми расширенными функциями, которые я использую для мое одностраничное приложение, созданное с помощью Angular 7.

Я расскажу о 7 основных проблемах, которые я решил в разных статьях:

  1. "начиная"
  2. Обслуживать файлы из корзины
  3. Перенаправить некоторые звонки на внешнюю службу
  4. Перенаправить http на https запросы
  5. Перенаправить не-www на www-запросы
  6. Ограничить подключения и предотвратить DDoS
  7. Обработать кеш

В этой первой статье я расскажу о ультра-минимальной настройке, чтобы начать работу с экспрессом.

Справочный репозиторий

Рабочий пример этого проекта доступен по адресу:

Https://github.com/mzuccaroli/express_server_for_angular_example главная ветка содержит окончательный полный проект, но есть отдельная ветка для каждой отдельной статьи, для этой статьи ссылка: https://github.com/mzuccaroli/express_server_for_angular_example / tree / feature / getting_started

Начиная

Начнем с минимальной реализации: супер-простого экспресс-сервера для приложения angular, которое обслуживает файлы из локальной папки.

Взгляните на код:

Как видите, код действительно прост: после импорта вы можете объявить переменные, такие как порт для сервера и папку, содержащую приложение, а затем взглянуть на два основных поведения.

Статические файлы

app.server.get (‘*. *’, express.static (_app_folder, {maxAge: ‘1y’}));

Это простейшая реализация сервера для обработки статических файлов: каждый маршрут, содержащий точку '*. *', что-то вроде «/style.css», «/ Favicon.ico» или «/assets/logo.png» будут обслуживаться путем поиска того же ресурса в папке dist / application.

Например, запрос http: // localhost: 4100 / assets / logo.png предоставит пользователю ./dist/application/assets/logo.png файл, если он существует.

Угловое приложение

Второе основное поведение - это обработка всех других запросов, обозначенных «app.all ('*')», которые будут перенаправлены в основной файл dist. папка, другими словами все запросы, не содержащие точки, будут обрабатываться нашим приложением Angular и его внутренними маршрутами.

Вы можете протестировать код, просто поместив свое приложение angular в папку с именем «dist» в той же папке с файлом server.js и запустив
$ node server.js

Теперь вы можете открыть свой браузер и перейти по адресу http: // localhost: 4100 и протестировать свои статические файлы и маршруты Angular.

Это самый первый шаг, который приведет вас к созданию экспресс-сервера для приложения angular. Вы можете скачать рабочий пример в эталонном репозитории по адресу: https://github.com/mzuccaroli/express_server_for_angular_example/tree/feature/getting_started

Следующим шагом является внесение некоторых изменений, которые позволят вам разместить приложение и ресурсы во внешнем сегменте. Щелкните здесь, чтобы узнать, как обслуживать угловое приложение из корзины.