sidebar_position | title | description | keywords | tags | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
29 |
Шпаргалка по Vite |
Шпаргалка по Vite |
|
|
Vite - это современный сборщик модулей (bundler) для
JavaScript-приложений
, менее кастомизируемый, чемWebpack
, но гораздо более быстрый.
Создание шаблона
yarn create vite [project-name] --template [template-name]
- [project-name] - название проекта
- [template-name] - используемый шаблон
Пример
yarn create vite react-webrtc --template react
SASS
yarn add -D sass
Плагины
Установка
yarn add -D @vitejs/plugin-react
Использование
// vite.config.js
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
export default defineConfig({
plugins: [react()]
})
Пользовательские плагины, которые показались мне интересными
- vite-plugin-pwa
- vite-plugin-node
- vite-plugin-imagemin
- vite-plugin-electron-renderer
- vite-plugin-wasm-pack
Статические файлы
Ссылки на файлы, находящиеся в директории public
, должны начинаться с /
. Предположим, что мы сохраняем аватары пользователей в директории public/uploads/avatars
. Названием соответствующего файла является идентификатор пользователя + расширение файла. Тогда ссылка на файл 1.png
будет следующей:
<img src='/uploads/avatars/1.png' alt='User Name' />
Деплой статического сайта
Сборка и локальное тестирование приложения
yarn build
yarn preview
GitHub Pages
Предположим, что мы деплоим на https://[username].github.io/
. В корневой директории проекта создаем файл deploy.sh
следующего содержания:
#!/usr/bin/env sh
# прерываем выполнение при наличии ошибок
set -e
# сборка
npm run build
# переходим в директорию со сборкой
cd dist
# если используем кастомный домен
# echo 'www.example.com' > CNAME
git init
git add -A
git commit -m 'deploy'
git push -f [email protected]:[username]/[username].github.io.git main
cd -
Netlify
Создаем новый проект из GitHub со следующими настройками:
- Build Command:
vite build
илиnpm run build
- Publish directory:
dist
Heroku
Авторизуемся в Heroku с помощью heroku login
. В корневой директории проекта создаем файл static.json
следующего содержания:
{
"root": "./dist"
}
Выполняем серию команд:
# изменение версии
$ git init
$ git add .
$ git commit -m "My site ready for deployment."
# создаем новое приложение с указанным названием
$ heroku apps:create example
# устанавливаем buildpack для статических сайтов
$ heroku buildpacks:set https://github.com/heroku/heroku-buildpack-static.git
# публикуем сайт
$ git push heroku main
# открываем браузер
$ heroku open
Переменные среды окружения и режимы
Vite
загружает переменные среды окружения в объект import.meta.env
из файлов .env
, env.local
, env.[mode]
и др. Открытыми являются переменные, начинающиеся с VITE_
, например:
PASSWORD=qwerty
VITE_SOME_KEY=some-public-value
В данном случае в клиентский код попадет только VITE_SOME_KEY
.
Предопределенные переменные:
import.meta.env.MODE: 'development' | 'production'
- режим, в котором запущено приложение;import.meta.BASE_URL: string
- основной путь приложения (определяется настройкойbase
);import.meta.env.PROD: boolean
;import.meta.env.DEV: boolean
.
Настройки
Пример синонимов путей для React-приложения
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
}
}
})