xycu2.rar
То, чем я занимался 3 часа , это было круто 😵💫
В режиме разработки стили вшиваются прямо в DOM, чтобы работало мгновенное обновление без перезагрузки страницы. А для продакшена Webpack сам аккуратно выносит весь CSS в отдельный сжатый файл с хэшем!
import MiniCssExtractPlugin from "mini-css-extract-plugin";
const isDev = env.mode === "development";
const isProd = env.mode === "production";
isProd &&
new MiniCssExtractPlugin({
filename: "css/[name].[contenthash:8].css",
chunkFilename: "css/[name].[contenthash:8].css",
}),
rules: [
{
test: /\.s[ac]ss$/i,
use: [
isDev ? "style-loader" : MiniCssExtractPlugin.loader,
"css-loader",
"sass-loader",
],
},
]
❤1
Ночной кодинг 🌙⚡️
Решил собрать свою собственную сборку на Webpack. Понятно, что сейчас все юзают Vite, но мне хочется досконально понять, как всё устроено под капотом — лоадеры, плагины, декомпозиция, поддержка TS/TSX и SCSS.
Зачем? Хочу выстроить крепкий фундамент перед тем, как полноценно ворваться во Vue.js. Когда понимаешь, как проект собирается изнутри, любой фреймворк даётся в разы проще.
Процесс идет, сборка почти готова! 🚀
Решил собрать свою собственную сборку на Webpack. Понятно, что сейчас все юзают Vite, но мне хочется досконально понять, как всё устроено под капотом — лоадеры, плагины, декомпозиция, поддержка TS/TSX и SCSS.
Зачем? Хочу выстроить крепкий фундамент перед тем, как полноценно ворваться во Vue.js. Когда понимаешь, как проект собирается изнутри, любой фреймворк даётся в разы проще.
Процесс идет, сборка почти готова! 🚀
❤1
xycu2.rar
Ночной кодинг 🌙⚡️ Решил собрать свою собственную сборку на Webpack. Понятно, что сейчас все юзают Vite, но мне хочется досконально понять, как всё устроено под капотом — лоадеры, плагины, декомпозиция, поддержка TS/TSX и SCSS. Зачем? Хочу выстроить крепкий…
За сегодня: сделал декомпозицию сборки, делаю изоляцию стилей через css modules.🥳
❤1
За эти 2 часа в сборку добавил:
1️⃣ CSS modules
2️⃣ Роутинг
3️⃣ Ленивые чанки
4️⃣ Размер бандла
5️⃣ Bundle analyzer
Сборка почти готова 🧑💻🚀
1️⃣ CSS modules
2️⃣ Роутинг
3️⃣ Ленивые чанки
4️⃣ Размер бандла
5️⃣ Bundle analyzer
Сборка почти готова 🧑💻🚀
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Что сделано:
1️⃣ Настроил роутеры во Vue, теперь переключение между страницами происходит без перезагрузки , контент генерируется динамически.
2️⃣ Добавил роутеры только для 2-х страниц, для других добавлю позже.
1️⃣ Настроил роутеры во Vue, теперь переключение между страницами происходит без перезагрузки , контент генерируется динамически.
2️⃣ Добавил роутеры только для 2-х страниц, для других добавлю позже.
❤2🔥1
Сегодня применил Vuex на практике:
🔹 Вынес данные ссылок и навигации из локального data() компонентов в глобальный state.
🔹 Настроил доступ к ним через getters.
Теперь вся структура ссылок лежит в одном месте. Код компонентов стал чище, а масштабировать меню теперь намного проще — поправил в store, и всё обновилось везде.
Шаг за шагом к чистому и структурированному коду 🚀
🔹 Вынес данные ссылок и навигации из локального data() компонентов в глобальный state.
🔹 Настроил доступ к ним через getters.
Теперь вся структура ссылок лежит в одном месте. Код компонентов стал чище, а масштабировать меню теперь намного проще — поправил в store, и всё обновилось везде.
Шаг за шагом к чистому и структурированному коду 🚀
❤1