- Gulp v5
- Webpack для обработки js и ts
- Единый
config.mjs - Псевдонимы путей для
.scss,.ts,.jsфайлов - Небольшой вес node_modules (Только необходимое)
- Автоматическая генерация
- Для создания компонента, элемента или секции
gulp create --component || element || section --test - Флаг на добавление файлов
.js,.ts,gulp create --component --test --ts || --js
- Для создания компонента, элемента или секции
- PUG опционально
- (По умолчанию - включен)
- TypeScript опционально
- (По умолчанию - включен)
- Svg sprite
<svg> <use href="./sprite/sprite.svg#test-1"></use> </svg>
- Импорт
.ts .js .mjs - Swiper включен в сборку
- Установите NodeJS
- Установите глобально:
- Gulp:
npm i -g gulp gulp-cli
- Gulp:
- Скачайте сборку с помощью Git:
git clone https://github.com/Alekseevich-psk/gulp-v5-starter.git - Скачайте необходимые зависимости:
npm i - Выберите режим работы HTML или PUG
npm run initPUGилиnpm run initHTML- Данные команды удалят
.htmlили.pugфайлы - По умолчанию PUG - включен, файлы
.htmlможно удалить вручную - Если выключить Pug то, для конкатенации html файлов используется плагин
gulp-file-include
- Данные команды удалят
- Выберите режим работы TS или JS
npm run initTSилиnpm run initJS - Чтобы начать работу, введите команду:
npm run start(режим разработки)- Псевдоним для быстрого запускаю dev server:
gulp
- Псевдоним для быстрого запускаю dev server:
- Чтобы собрать проект, введите команду
npm run build(режим сборки)
Если вы всё сделали правильно, у вас должен открыться браузер с локальным сервером. Режим сборки предполагает оптимизацию проекта: сжатие изображений, минифицирование CSS и JS-файлов для загрузки на сервер.
- Шрифты формата .ttf закидываем по адресу
"app/fonts/ttf/" - Запускаем конвертацию в формат .woff(.woff2)
npm run ttfToWoff - Подключаем шрифты в mixin scss
"app/styles/fonts.scss"командойnpm run fontsInStyle
- Для путей
.scss,.ts,.jsфайлов работают псевдонимы - Задавать по адресу:
./gulp/config/config.mjs
scss: {
"@Sections": "./../pages/sections",
"@Components": "./../pages/components",
"@Elements": "./../pages/elements",
},
js: {
"@Sections": path.resolve(__dirname, "../../" + paths.sections),
"@Components": path.resolve(__dirname, "../../" + paths.components),
"@Elements": path.resolve(__dirname, "../../" + paths.elements),
},Примеры:
import '@Element/test/test.ts';
import 'Components/test/test.ts';
gulp-v5-starter
├── app
│ ├── fonts
│ ├── images
│ ├── pages
│ ├── scripts
│ ├── styles
│ ├── svg
│ └── video
├── dist
├── package.json
├── ignore.d.ts
├── tsconfig.json
├── gulpfile.mjs
├── README.md
└── .gitignore
gulp switchMode --htmlилиnpm run switchMode --html- HTML режимgulp switchMode --pugилиnpm run switchMode --pug- Pug режимgulp switchMode --jsилиnpm run switchMode --js- javaScript режимgulp switchMode --tsилиnpm run switchMode --ts- typeScript режим
gulpилиnpm run start- запуск сервера для разработки проектаgulp buildилиnpm run build- собрать проект с оптимизацией без запуска сервераgulp zipDistилиnpm run zipDist- заархивировать dist папку (Для отправки интегратору)gulp ttfToWoffилиnpm run ttfToWoff- конвертация шрифтов из ttf2woffgulp fontsInStyleилиnpm run fontsInStyle- подключение шрифтов в fonts.scss (Пример названия шрифта:Montserrat-AlternatesBlack)
- Данную сборку использую для личных проектов, могут присутствовать наработки под быстрый старт проекта или тестовые модификации
Сообщайте мне о багах