Основы Vue.js: Vue CLI
Vue CLI — это стандартный инструментарий для разработки на Vue.js. Он предоставляет:
- Быструю настройку проекта: Генерация каркаса нового проекта с базовой конфигурацией.
- Готовую систему сборки: Преднастроенный Webpack с разумными дефолтными настройками.
- Возможность расширения: Система плагинов для добавления дополнительных функций (Babel, TypeScript, ESLint, Vue Router, Vuex и др.).
- Графический интерфейс (Vue UI): Визуальный инструмент для управления проектами.
- Мгновенную прототипизацию: Возможность быстро создавать прототипы однофайловых компонентов (
.vue) без полной настройки проекта.
Установка Vue CLI
Для использования Vue CLI необходимо установить его глобально с помощью npm или yarn:
npm install -g @vue/cli
# или
yarn global add @vue/cliПосле установки вы сможете использовать команду vue в вашей командной строке. Чтобы проверить установленную версию, выполните:
vue --versionСоздание нового проекта
Для создания нового проекта Vue.js используйте команду vue create <project-name>, где <project-name> — это имя вашего проекта.
vue create my-vue-appПри выполнении этой команды Vue CLI предложит вам выбрать предустановленный шаблон (preset) или вручную выбрать необходимые функции.
Предустановленные шаблоны (Presets)
Vue CLI поставляется с несколькими предустановленными шаблонами, которые включают в себя стандартный набор инструментов для разработки:
default (babel, eslint): Базовая настройка с Babel (для поддержки современного JavaScript в старых браузерах) и ESLint (для линтинга кода).default (babel, eslint) - In history mode?: То же, что иdefault, но с запросом, следует ли использовать режим истории браузера для Vue Router (требует настройки сервера для SPA).
Ручная настройка (Manually select features)
Если вы выберете "Manually select features", Vue CLI предложит вам список функций, которые вы можете добавить в свой проект:
- Babel: Транспиляция JavaScript.
- TypeScript: Поддержка строго типизированного JavaScript.
- Progressive Web App (PWA) Support: Добавление возможностей PWA.
- Vue Router: Официальная библиотека маршрутизации для Vue.js.
- Vuex: Официальная библиотека управления состоянием для Vue.js.
- CSS Pre-processors: Поддержка CSS-препроцессоров (Sass/SCSS, Less, Stylus).
- Linter / Formatter: Инструменты для линтинга и форматирования кода (ESLint, Prettier).
- Unit Testing: Поддержка модульного тестирования (Jest, Mocha).
- E2E Testing: Поддержка сквозного тестирования (Cypress, Nightwatch).
После выбора необходимых функций Vue CLI установит все зависимости и сгенерирует базовую структуру вашего проекта.
Структура проекта Vue CLI (по умолчанию)
После успешного создания проекта вы увидите следующую структуру каталогов (может немного отличаться в зависимости от выбранных функций):
my-vue-app/
├── public/
│ └── index.html
│ └── favicon.ico
├── src/
│ ├── assets/
│ │ └── logo.png
│ ├── components/
│ │ └── HelloWorld.vue
│ ├── App.vue
│ └── main.js
├── .gitignore
├── babel.config.js
├── package.json
├── README.md
└── yarn.lock (или package-lock.json)public/: Содержит статические ресурсы, которые копируются непосредственно в финальную сборку (например,index.html,favicon.ico).src/: Основная директория с исходным кодом вашего приложения.assets/: Ресурсы, которые обрабатываются Webpack (например, изображения).components/: Каталог для ваших многократно используемых Vue-компонентов.App.vue: Корневой компонент вашего приложения.main.js: Точка входа приложения, где создается экземпляр Vue и подключаются плагины.
.gitignore: Файл, указывающий файлы и директории, которые Git должен игнорировать.babel.config.js: Конфигурация Babel.package.json: Файл с информацией о проекте и его зависимостях (npm или yarn).README.md: Файл с описанием проекта.yarn.lock/package-lock.json: Файлы блокировки версий зависимостей.
Если вы добавили Vue Router или Vuex, вы также увидите директории router/ и store/ внутри src/.
Основные команды Vue CLI
Vue CLI предоставляет ряд полезных команд для разработки:
vue serve: Запускает локальный сервер разработки с горячей перезагрузкой (hot-reloading). Это означает, что при изменении файлов вsrc/браузер автоматически обновится без полной перезагрузки страницы.bashcd my-vue-app vue serveОбычно приложение будет доступно по адресу
http://localhost:8080/.vue build: Собирает ваше приложение для production. Результат сборки помещается в директориюdist/.bashvue buildВы можете использовать различные флаги для настройки сборки (например,
--mode production,--dest my-output-dir).vue inspect: Позволяет просмотреть финальную конфигурацию Webpack вашего проекта. Это полезно для понимания того, как Vue CLI настроил сборку, и для отладки проблем.bashvue inspect vue inspect --plugins # Показать список плагинов Webpack vue inspect --rule vue # Показать конфигурацию для обработки .vue файловvue add <plugin>: Устанавливает и добавляет плагин Vue CLI в ваш проект. Плагины могут предоставлять новые функции, добавлять зависимости и изменять конфигурацию проекта.bashvue add router # Добавить Vue Router vue add vuex # Добавить Vuex vue add @vue/cli-plugin-eslint # Добавить плагин ESLintvue invoke <plugin> [options]: Вызывает установленный плагин для выполнения определенных действий или настройки.bashvue invoke eslint --config airbnb # Настроить ESLint с конфигурацией Airbnbvue ui: Запускает графический интерфейс Vue CLI в вашем браузере. Vue UI предоставляет визуальный способ управления вашими проектами, установки плагинов, выполнения задач (serve, build, inspect) и многого другого.bashvue uiОбычно Vue UI будет доступен по адресу
http://localhost:8000/.
Использование Vue UI
Vue UI предоставляет интуитивно понятный интерфейс для выполнения большинства задач Vue CLI без использования командной строки. Вы можете:
- Создавать и импортировать проекты.
- Управлять зависимостями (устанавливать, обновлять, удалять).
- Устанавливать и настраивать плагины.
- Выполнять задачи сборки, запуска сервера и инспектирования Webpack.
- Просматривать логи и управлять конфигурацией.
Расширение возможностей с помощью плагинов
Система плагинов Vue CLI позволяет легко расширять функциональность вашего проекта. Существует множество официальных и сторонних плагинов, которые могут добавить поддержку TypeScript, PWA, различных CSS-препроцессоров, инструментов тестирования и многого другого.
При установке плагина Vue CLI обычно автоматически обновляет файлы вашего проекта (например, добавляет зависимости в package.json, изменяет конфигурацию Webpack) и может задавать вам вопросы для настройки.
Мгновенная прототипизация
Vue CLI также предоставляет возможность быстро создавать прототипы однофайловых компонентов (.vue) без необходимости создавать полноценный проект. Для этого установите глобальный сервис прототипирования:
npm install -g @vue/cli-service-global
# или
yarn global add @vue/cli-service-globalЗатем вы можете перейти в директорию, содержащую ваш .vue файл, и запустить прототип с помощью команды vue serve <YourComponent.vue>.
vue serve MyComponent.vueЭто запустит локальный сервер и отобразит ваш компонент.
Заключение
Vue CLI является незаменимым инструментом для разработки приложений на Vue.js. Он значительно ускоряет процесс создания проектов, предоставляет готовую систему сборки и позволяет легко добавлять необходимые функции с помощью плагинов. Использование Vue CLI помогает сосредоточиться на написании кода вашего приложения, а не на настройке окружения. Графический интерфейс Vue UI делает управление проектами еще более удобным, особенно для новичков.