Рубрики
Без рубрики

Посылка: преемник WebPack?

PARCEL – это модуль Bundler, который, как правило, проще, чем другие модульные бланки, такие как WebPack или Rollup

Автор оригинала: Rémi.

Немного истории

Вы помните, когда не было модулей Bundlers для ваших активов FONTEND? Вы помните, насколько усердно вырезать код на небольшие кусочки, которые вы можете легко повторно использовать? Я печатаю помню инструмент по имени Требования Это позволяет вам сделать это, но ваши модули должны быть разработаны с помощью EMENJS для TIENJS. Эти модули были то, что мы называли AMD (определение асинхронного модуля). А потом другой инструмент стал очень популярным среди разработчиков Frontend: Брасифицировать Отказ Идея этого инструмента должна была использовать требуют () Внутри ваших приложений Frontend. Это было потрясающе, потому что идея состояла в том, чтобы позволить разработчикам импортировать модули так же, как они делают с Nodejs. Так что больше не берите! NPM стал единственным менеджером пакета для решения ваших зависимостей в Интернете и BackeND, а затем ваш Package.json стал единственной точкой входа вашего приложения, который собирает зависимости и сценарии, необходимые для начала и создания приложения. Поскольку Browserify была хорошей при обработке файлов JavaScript, разработчики быстро нуждаются в том, что-то более полное, которое может справиться с несколькими видами активов! Так что через несколько месяцев после первого выпуска браурификации WebPack Родился с этой идеей в виду!

Сложность учета

Принцип WebPack довольно прост. Вы создаете файл конфигурации, который содержит точку записи вашего приложения. Эта точка входа может импортировать различные виды активов, таких как файлы JavaScript или CSS или даже изображения. WebPack создает дерево зависимости этих активов, используя погрузчики, которые указывают на то, как WebPack может обрабатывать эти различные виды активов. И тогда WebPack производит выходной файл, который рассматривается как ваши встроенные активы. Так что на бумаге WebPack потрясающий, и это действительно есть. Но у WebPack есть репутация для того, чтобы быть комплекс , действительно действительно сложный. Таким образом, разработчики часто пытаются повторно использовать некоторые файлы конфигурации exisitng без обязательного понимания, как работает WebPack. На мой взгляд, эта сложность WebPack привела разработчикам для создания некоторых «генераторов», что позволяет вам создавать свои проекты, не делая конфигурацию самостоятельно. Create-React-App один из них. Даже угловые создают что-то вроде этого и называется Angular-Cli Отказ

Пакет

Да, посылка, это еще один модуль Bundler. Но обещание посылки, чтобы быть максимально простым, поскольку ему не нужен какой-либо конкретный файл конфигурации. Он может объединить все свои активы, поддерживает замену расщепления кода и горячего модуля (HMR) по умолчанию. В отличие от WebPack, Patle также имеет встроенный сервер веб-разработки. Так что начать работу с посылкой, вам просто нужно установить его с помощью NPM:

npm install -g parcel-bundler

А потом вы можете использовать такую посылку:

parcel index.html //This will run Parcel with its web server
parcel watch index.html //This will run Parcel without the web server
parcel build index.html //Bundle your app for production

Запустив эти команды, посылка анализирует зависимости, упомянутые в index.html Файл и включает в себя их в выходных файлах. Зависимости могут быть любыми видами активов (JavaScript, CSS, изображения …).

Чтобы проиллюстрировать простоту посылки, когда вы хотите использовать препроцессор, как SASS, вам не нужно добавлять дополнительную конфигурацию, вам просто нужно установить Узел-сасс А затем импортировать файл SASS в своем приложении, и посылка позаботится обо всем. Вам не нужно что-то вроде конкретного загрузчика, чтобы обработать этот вид файлов!

Вы все еще можете использовать Babel Presets, чтобы распространяться на возможности Babel. Так что вам просто нужно создать традицию .babel.rc файл. Таким образом, если вам необходимо, например, использовать RECT, просто установите ENV и React Presets, а затем создайте следующее .babel.rc файл:

 // .babelrc
{
  "presets": ["env", "react"]
}

Это не так сложно, не так ли?

Еще одно обещание посылки, должно быть быстро, действительно быстро. Я не использую его в большом проекте, поэтому мне нужно верить существующим тестам!

Итак, я действительно призываю вас взглянуть на этот удивительный проект: https://parceljs.org/

Заключение

Посылка – это новый проект и действительно обнадеживает. Конечно, ему необходимо доказать свою ценность в конкурентной области, в котором WebPack, кажется, начнется голова на своих конкурентах. Поскольку WebPack кажется хорошо подходящим для крупных проектов, почему бы не попробовать посылку для малых и средних проектов?