С чистого листа. О сборщиках
Представим, что вы верстаете одну промо-страницу. Дизайнер прислал скетч-файл с макетами, текстом и шрифтами. Остается только сесть и верстать… И тут я понимаю, что дизайн для мобильных и планшетов отличается, css заменить бы на sass и, возможно, это не глупая html страничка, а SPA приложение.
Переводить sass в css, потом минифицировать js и все остальное руками — рабский труд. Спасают, автоматизируют, ускоряют и выполняют рутинные задачи сборщики проектов. Такие как Webpack, Gulp, Grunt и др. Для них у меня есть минимальные требования:
- Sass
- autoprefixer
- simpleHTTPServer
- autoreload
При верстке удобно иметь 2 экрана. На одном править код, а на другом сразу же видеть результат в браузере.
Если нам нужнем JavaScript, то его следует минифицировать и писать хочется не просто JS, а именно ES2015. А когда он применился мы не хотим перезагружать страницу, а хотим, чтобы сборщик сделал это сам, благодаря HotReload.
Если вы новичок, то стоит все-таки разобраться, как работает webpack, gulp или grunt. Я именно так и делал, собирал проект с самого начала. Но потом, каждый раз писать конфигурацию с чистого листа — отстой.
Быстрее будет, если найти StarterPack — проект, где начальную структуру и список инструментов продумали заранее и свели установку к одной строке:
npm i superStarterPack
Я пока попробовал только 2 коробочки:
WebStarterKit
Если вы не будете использовать Material Design, а писать свои стили, то придется потратить время на вырезание ненужных файлов. Еще есть файлы-манифесты, где надо будет поменять часть дефолтных значений на свои. Пак годится для сборки простых промо-страниц или писем. Для статического сайта уже не хватает шаблонизатора, а для JS приложения считай все придется собирать с нуля.
Create React Ap
Вау! Пожалуй, если вы хотите создать быстро приложение на Реакте — это лучший выбор. Очень порадовал Flow в консоли и поддержка всех нужных мне фитч, за исключением Sass. В основе лежит webpack, который сложноват в настройке, но крайне продуктивен после. Сторонние пакеты устанавливаются как dev зависимости и доступны через import — каеф!
Экономьте свое время. Для быстрого старта — используйте готовые сборки. Для изучения — используйте готовые сборки или проекты и учитесь по ним и статьям, документация к сборщикам годится лишь для уточнения. Для серьезных проектов заложите время и соберите всю структуру с чистого листа, так вы будете знать что к чему и уверены, что у вас нет ничего лишнего.