Tailwind и Vue
← Tailwind
https://github.com/web2033/vite-vue3-tailwind-starter
Репозиторий: https://gitlab.com/romychvk/tailwind-vue-app
Подготовьте систему — установите Vue CLI:
sudo npm install -g @vue/cli
Создайте стандартное минимальное приложение Vue:
vue create <your-project-name>
В конце будет предложено перейти в папку проекта и протестировать приложение.
Перейдите в папку проекта и обновите Vue и установите Tailwind CSS:
vue upgrade --next npm install tailwindcss
public/index.html— сюда автоматически вставляется приложениеsrc/main.js— основной JS, который вставляется вindex.html. В нем же подключается основной CSSsrc/App.vue— приложение Vuesrc/components/— здесь создаем файлы.vueкомпонентов приложенияpostcss.config.js— конфиг PostCSS, через который включается Tailwindtailwind.config.js— опциональный конфиг, который ищет Tailwind и который используется для его настройкиsrc/assets/styles/index.css— основной CSS файл, в котором подключаются библиотеки Tailwind и можно добавлять свои стили
Tailwind — это плагин PostCSS и подключается он через конфиг PostCSS.
Создайте конфигурационный файл:
touch postcss.config.js
и настройте в нем подключение Tailwind:
// postcss.config.js
const autoprefixer = require('autoprefixer');
const tailwindcss = require('tailwindcss');
module.exports = {
plugins: [
tailwindcss,
autoprefixer,
],
};
Создайте основной файл CSS стилей Tailwind:
mkdir -p src/assets/styles/ touch src/assets/styles/index.css
и добавьте в него строки:
/* src/assets/styles/index.css */
@tailwind base;
@tailwind components;
@tailwind utilities;
и подключите его к приложению в файле src/main.js:
// src/main.js
// ...
import App from './App.vue'
import './assets/styles/index.css';
// ...
Например, создадим компонент Navbar, как описано в скринкасте Building a Navbar Layout with Flexbox
touch src/components/Navbar.vue
// src/components/Navbar.vue
<template>
// сюда вставьте HTML шаблон: https://tailwindcss.com/components/navigation#responsive-header
</template>
<script>
export default {
name: 'Navbar'
}
</script>
Подключите компонент — отредактируйте src/App.vue и добавьте Navbar в трех местах:
// src/App.vue
<template>
<Navbar /> <!-- (1) -->
<img alt="Vue logo" src="./assets/logo.png" class="mx-auto" />
<HelloWorld msg="Welcome to Your Vue.js App" class="text-center" />
</template>
<script>
import HelloWorld from './components/HelloWorld.vue'
import Navbar from './components/Navbar.vue' // (2)
export default {
name: 'App',
components: {
HelloWorld,
Navbar // (3)
}
}
</script>
Теперь запустите сервер и убедитесь, что навбар появился:
npm run serve
- Using Tailwind CSS with Vue.js
- Setting Up Tailwind CSS in a Vue.js Project (в статье неправильный репозиторий в команде клонирования — правильный этот https://github.com/snipcart/vue-tailwind)
- Vue MQ (MediaQuery) — 📱 💻 Define your breakpoints and build responsive design semantically and declaratively in a mobile-first way with Vue.