Express.js - это платформа веб-приложений для Node.js, предназначенная для создания веб-приложений. В этой серии статей я шаг за шагом объясню, как я реализовал экспресс-сервер с некоторыми расширенными функциями, которые я использую для мое одностраничное приложение, созданное с помощью Angular 7.
Я расскажу о 7 основных проблемах, которые я решил в разных статьях:
- "начиная"
- Обслуживать файлы из корзины
- Перенаправить некоторые звонки на внешнюю службу
- Перенаправить http на https запросы
- Перенаправить не-www на www-запросы
- Ограничить подключения и предотвратить DDoS
- Обработать кеш
В этой первой статье я расскажу о ультра-минимальной настройке, чтобы начать работу с экспрессом.
Справочный репозиторий
Рабочий пример этого проекта доступен по адресу:
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
Следующим шагом является внесение некоторых изменений, которые позволят вам разместить приложение и ресурсы во внешнем сегменте. Щелкните здесь, чтобы узнать, как обслуживать угловое приложение из корзины.