Как стать автором
Обновить

Комментарии 6

Мантра «фигак-фигак и готово», которую исповедует parcel, конечно, заманчивая штука…
Но стоит потребоваться каким-то дополнительным настройкам, или в случае «обновил депенденси и все перестало билдаться», ты оказываешься практически бессилен, потому как нет ни доп. настроек, ни внятного мануала как это можно порешать/обойти. Так что для себя решил, что пасл подходит только для мелких, плюс-минус одноразовых проектов, с коротким жизненным циклом.

Одна фича, которая мне очень понравилась в нем — это то, что можно указать как точку входа не js/ts, а html; и при наличии соответствующих плагинов достаточно легко добиться того, чтобы он спаковал все (вообще ВСЕ, включая код, стили и даже картинки) в один большой html файл. В некоторых случаях это было очень удобно. Пока опять же, при обновлении депенденси, билд не сломался вообще.
Целиком и полностью поддерживаю!
Сам, прельстившись быстротой и простотой конфигурации, плотно подсел на него.
Начал верстать обычные лендосы. Вроде поначалу всё хорошо, но чем дальше я погружался в работу с ним, тем больше мне хотелось поскорее с него слезть.
У parcel v1 есть много ошибок, недоработок, которые уже никто не будет исправлять потому, что… скоро выйдет версия 2, в которой всё будет точно хорошо. Скоро – это уже год, и всё ещё не до конца работающая бета.
Вот примеры того, что в parcel v1 не работает, и работать не будет:
1) Parcel не прокидывает в pug функцию require. Считать, например, файл JSON вот так вот внутри файла .pug нельзя:
— const { title, cells, texts } = require('../../_data/data.json')
Я победил проблему написанием соответствующих хелперов, использующих ('fs').readFileSync.
2) Захотел поместить critical styles в head html? Получи ошибку, даже две: github.com/parcel-bundler/parcel/issues/2936
Править никто не будет. В конце ветки выложили патч. Он фиксит 1 ошибку, не до конца. Остаётся другая: github.com/parcel-bundler/parcel/issues/3008
Работать вроде можно, но…
3) Несколько шаблонов импортируют один и тот же scss файл через один и тот же js? Не работает! github.com/parcel-bundler/parcel/issues/2340
Ишью открыто 1 Dec 2018. Угадайте, кто нибудь из команды parcel что нибудь сделал?
Я нашёл обходной путь.

С этим вот всем я столкнулся при вёрстке обычных статических сайтов. Не многовато ли за «простоту настройки»?
Я несколько лет назад собирала простые статичные сайты вроде лендингом gulp-ом. Все было отлично, никаких проблем (хотя сайты и впрямь были очень простые) Пробовали ли Вы его? :) Если да, то почему отказались в пользу Парсела? :)
Gulp, grunt — это таск раннеры, позволяющие автоматизировать выполнение каких-то операций или их последовательностей. Сами по себе они ничего особо не делают, но при этом позволяют вызывать другие инструменты, начиная от простого копирования файлов, заканчивая бандлерами, упомянутыми ниже, последовательно, или параллельно, либо же комбинируя эти подходы.

Parcel, webpack, rollup — это в первую очередь бандлеры, которые позволяют производить преобразование исходных файлов (будь-то html, ts/js код, стили, картинки, и т.п.) в какой-то другой формат, попутно применяя преобразования, какие-то плагины, или делая еще 1000 вещей, которые могут взбрести в голову.
Не совсем понятно, в чем преимущество Парсела перед Вебпаком? В том, что у Вебпака есть много фич и они могут быть не нужны? Так необязательно же ими пользоваться, а очень простой конфиг вебпака пишется за пять минут: нужно указать entry и output и готово :)
Кстати, да.
Плюс еще есть еще одна замечательная альтернатива — rollup.js. Мне, допустим, он больше зашел чем вебпак, при схожем богатстве функционала, настроек и плагинов.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории