Здравствуйте, в этой статье мы сначала рассмотрим Svelte и Tailwind CSS.
В начале разработки моего проекта выходного дня я начал с React и заметил, что мне очень скучно использовать управление состоянием, и начал искать новое путешествие. Тогда мне на ум пришел Svelte, и я начал с Svelte Tutorial. Спустя два часа я начал с самого начала свой проект со Svelte. В Svelte разработка и результаты происходят очень быстро.
Я начал думать, что если я начну изучать новую технологию, то почему бы не быть более радикальным? И таким образом начните изучать TailwindCSS.
TL;DR
Стройный
Svelte не работает традиционными методами, как другие фреймворки (React и Vue). Здесь нет виртуального DOM, и, следовательно, у многих есть сверхбыстрое время сборки и время выполнения.
Попутный ветер CSS
Tailwind CSS — это очень быстрый CSS-фреймворк, если вы разрабатываете приложение. У Tailwind есть хорошо документированный и не сложный сайт.
🚦Начать
Нам нужно клонировать проект шаблона в наш локальный. Мы можем клонировать проект, как показано ниже в этом документе:
npx degit your-name/template svelte-tailwind
Чтобы запустить проект, вы должны перейти в каталог проекта и запустить npm install
. После установки зависимостей введите npm run dev
команду в терминал. Svelte готов localhost:8080
🌐Установка попутного ветра
Перейдите на страницу Установка Tailwind PostCss и введите в терминал следующие команды:
npm install -D tailwindcss postcss autoprefixer npx tailwindcss init
Добавить в Svelte
Откройте rollup.config.js
и импортируйте зависимости следующим образом:
import sveltePreprocess from 'svelte-preprocess'; import tailwindcss from 'tailwindcss'; import autoprefixer from 'autoprefixer'; import postcss from 'postcss';
В этом случае мы должны установить svelte-preprocess
npm install svelte-preprocess
затем добавьте препроцесс ниже plugins -> svelte
, как показано ниже:
preprocess: sveltePreprocess({ postcss: postcss({ plugins: [tailwindcss(), autoprefixer()], }), }),
и src/App.svelte
файл выглядит следующим образом:
Вот и все. Tailwind CSS успешно импортирован в наш проект. Если вы хотите понять, как использовать svelte-preprocess
, вы можете посмотреть эту документацию.
📖Макет
Мы должны создать макет, прежде чем начать добавлять классы Tailwind. Наш новый App.svelte
файл выглядит так:
Теперь мы можем начать писать CSS для Tailwind, во-первых, мы добавим несколько классов в основной контейнер и установим центр экрана.
flex justify-center items-center h-screen
Затем есть контейнер приложения, ожидающий нового представления. Добавьте border-radius
с rounded
и добавьте немного padding
с px-8
и py-8
class="flex flex-col w-5/12 bg-slate-900 px-8 py-8 rounded-lg"
Добавляя классы в H1 и контейнер сообщений, наше приложение выглядит так:
mb-4 font-bold text-gray-50 text-4xl text-center -> H1 w-full mb-4 bg-gray-300 rounded-md px-4 py-4 -> DIV.messageContainer
После добавления всех классов в наш макет приложение выглядит так:
🔌Socket.IO
Если вы новичок в socket.io, не волнуйтесь, здесь мы просто перепроектируем пользовательское приложение чата, предоставленное Документацией по Socket.IO.
Сервер
Мы хотим создать сервер socket.io и использовать его в svelte. Если вы хотите этого, мы должны добавить cors
для стройной подачи. Создайте server.js
файл и добавьте код ниже:
Запустите эти команды и запустите сервер socket.io:
npm install socket.io node server.js
Клиент
Установите Клиент Socket.IO
npm install socket.io-client
Импортируйте его и подключитесь к серверу:
import io from 'socket.io-client' const socket = io("http://localhost:3000")
Создайте массив messages
для хранения входящих сообщений и прослушивайте событие chat message
для исходящих сообщений от других клиентов.
Для обновления messages
array мы должны переназначить, вы можете прочитать по этой ссылке, чтобы узнать, почему.
let messages = [] socket.on('chat message', (data) => { messages = [...messages, data] })
И наша функция sendMessage
:
function sendMessage() { socket.emit('chat message', message) message = '' }
В итоге наш App.svelte
выглядит так:
И результат: