git submodule update --init --recursive
npm i
npm run build
npm start
После, открыть ссылку localhost:8000
- Главная страничка, со всеми событиями
- Страничка для задания "мультимедия"
- Страничка, которая возвращает отфильстрованный JSON (type=info:critical)
- Страничка, которая возвращает время, с момента запуска сервера
- Сдлеать пагинацию: к примеру, по ссылке /events/1:5 - вы получите события с 1го по 5е
- Привязать к основной верстке
- Сделать api/events еще и в пост запросе
Т.к. до этого сборка была расчитана на чистый JS (ES6), то к примеру тот же eslint - не вписывался в сборку с TypeScript.
Много времени ушло на то, чтобы просто понять, что я хочу писать - настройка tslint, tsconfig и т.п. заняла довольно много времени.
Довольно много нового пришлось сверху установить, для того чтобы проект мог быть рабочим, такие пакеты как @types/cors, @types/express и @types/node, должны были быть установленны для работы уже существующего приложения.
Пришлось чутка почитать гайды, для того чтобы понять, как нужно переписать сервер на express.
Для удобства работы, и разделения частей, использовал сборку webpack:
- Pug - для разделения и шаблонизации кода.
- PostCSS - для разделения, и удобства написания кода.
- ESLint - для соблюдения стиля.
- Babel - хоть мы и работаем в "вечно зеленых" браузерах, но перестраховаться не мешает.
- Для разделения компонентов, удобнее всего использовать include pugа.
- Присутствует возможностей таких как: mixin, block, extends, include; и т.д.
- Привычка использования данной технологии ускоряет работу.
- postcss-import
- autoprefixer
- precss
- postcss-assets
- postcss-preset-env