Использование Vue 3 с Parcel JS

Использование Vue 3 с Parcel JS

5 июня 2023 г.

В то время как Vite привлек внимание сообщества Vue.js как инструмент сборки JavaScript, я лично предпочитаю Parcel для создания моего Vue.js приложения. Хотя в большинстве руководств и документации основное внимание уделяется Vite или другим популярным инструментам сборки, цель этой статьи — дать рекомендации по настройке Parcel для проектов Vue.js. Теперь давайте рассмотрим причины, по которым вы можете рассмотреть возможность использования Parcel.

Зачем использовать посылку?

Хотя Vite отлично работает и быстро создает приложения, он фокусируется на быстром создании вещей. Вероятно, для многих это звучит великолепно, но для меня это анти-шаблон. Да, я хочу, чтобы мои инструменты разработки были быстрыми, но если это основное внимание, то часто опыт разработчиков часто отходит на второй план.

Вместо этого мне нужны инструменты для разработчиков, которые в первую очередь ориентированы на опыт разработчиков, а также работают быстро. Я думаю, что Parcel отлично справляется с этим обещанием. Большинство инструментов сборки Javascript, таких как Vite, в конечном итоге являются оболочками для существующих инструментов, но с конфигурацией скрытой и предварительно настроенной для вас. Хотя это здорово, чтобы начать быстро, вы в конечном итоге столкнетесь с препятствиями и сложностью конфигурации по мере роста вашего приложения. Parcel придерживается философии нулевой конфигурации и не является оболочкой для старых инструментов. Как только вы закончите настройку, по мере роста вашего приложения вы будете сталкиваться с гораздо меньшим количеством препятствий, связанных с настройкой.

Единственным недостатком использования Parcel, особенно с Vue, является то, что настройка не документирована так, как хотелось бы. Кроме того, с выпуском Parcel 2 и Vue 3 появилось несколько особенностей настройки. Надеемся, что в будущем они будут реализованы, а пока приведенные ниже инструкции покажут вам, как настроить приложение Vue с помощью Parcel.

Создание приложения Vue 3 с помощью Parcel

Для начала вам понадобится приложение Vue 3. Если вам нужно его запустить, документация Parcel — хорошее место для начала работы с каркасом приложения. Однако, если вы будете использовать только эти инструкции, вы, вероятно, получите некоторые ошибки или предупреждения, о которых нам нужно позаботиться.

Исправление 1: package.json — пакет Vue

В свой package.json вам нужно добавить раздел псевдонимов. Это позволит Parcel узнать правильную версию Vue для использования при сборке вашего приложения.

"alias": {
  "vue": "vue/dist/vue.esm-browser.js"
},

Особое примечание для производственных сборок

Сейчас существует ошибка при переходе на рабочие сборки с Vue 3 и Parcel. Поэтому, когда вы делаете производственную сборку, вам нужно переключить псевдоним на vue.esm-browser.prod.js. Я просто использую команду предварительной сборки в своем CI/CD, чтобы отключить ее для производственных сборок: sed -i 's/vue.esm-browser.js/vue.esm-browser.prod.js/g' пакет.json

Исправление 2: package.json — тип сборки (может потребоваться)

В зависимости от цели сборки и контекста вывода вы можете также добавить type и targets в свой package.json. Не помешает добавить их и четко указать, что вы строите. Мне также нравится часто использовать targets, потому что я хочу, чтобы Parcel создавал несколько вещей.

"type": "module",
"targets": {
  "myapp": {
    "source": "src/index.js",
    "distDir": "dist",
    "context": "browser",
    "outputFormat": "global"
  }
},

Исправление 3. JS основного приложения – отключите дополнительные предупреждения и включите Vue Options API

В вашем основном приложении JS вы, вероятно, получаете дополнительные предупреждения или хотите включить Vue Options API. Поместите эти переменные в ваш исходный JS-файл приложения, чтобы отключить предупреждения инструмента разработки и явно настроить Vue Options API или нет. Возможно, вы захотите поместить их в начало файла.

__VUE_OPTIONS_API__ = true;

if (process.env.NODE_ENV !== 'production') {
  __VUE_PROD_DEVTOOLS__ = true;
} else {
  __VUE_PROD_DEVTOOLS__ = false;
}

Получайте удовольствие от разработки своего нового приложения Vue 3 и выбросьте свой аспирин, поскольку теперь вы будете на легкой улице и будете иметь гораздо меньше ошибок конфигурации. Parcel JS справится с большинством других настроек, даже установив преобразователи, которые вам понадобятся для компиляции таких вещей, как Vue Single File Components и Typescript.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE