Merhaba,
Bu yazıda Vue.js'de Scss kullanımından bahsedeceğim.
İlk olarak boş bir Vue.js projesi oluşturuyoruz:
vue init webpack-simple vue-scss-example
Proje dizinine gelip projenin çalışması için gerekli bağımlılıkları kuruyoruz:
npm install
Scss için gerekli paketleri kuruyoruz:
npm install --save-dev node-sass sass-loader
ÖNEMLİ NOT!
Bu paketleri (node-sass ve sass-loader) kurduktan sonra projeyi çalıştırmak istediğinizde (npm run dev) bir hatayla karşılaşabilirsiniz. Bu hatanın sebebi webpack ile sass-loader paketlerinin çakışmasıdır. Bu çakışmanın yaşanmaması için ikisininde güncel versiyonunu yüklemiş olmanız gerekmektedir. Şu anki (18.12.2019) güncel versiyonlar;
webpack: 4.41.3
sass-loader: 8.0.0
Ancak Scss'i kullanmak istediğiniz projede webpack'in 4.x.x'ten önceki sürümleri (3.x.x) mevcutsa ve bunu değişme imkanınız yoksa bu paket yükleme işlemini şu şekilde yapmanız hatanın giderilmesini sağlayacaktır:
npm install --save-dev node-sass [email protected]
Gerekli paketleri kurma işlemini tamamladıktan sonra proje dizininde bulunan webpack.config.js dosyasını açıyoruz ve şu şekilde bir düzenleme yapıyoruz:
... module.exports = { ... module: { rules: [ { test: /\.scss$/, use: [ 'vue-style-loader', 'css-loader', 'sass-loader' ], }, ...
Son olarak Scss'i hangi style kısmında kullanmak istiyorsak oraya şu şekilde bir ekleme yapıyoruz:
<style lang="scss"> </style>
Şimdi örnek olması açısından App.vue dosyasını açıp düzenleyelim:
<template> <div class="content"> <h1>Şehirler</h1> <ul class="cities"> <li class="city">Sakarya</li> <li class="city">Bursa</li> <li class="city">Bilecik</li> </ul> </div> </template> <style lang="scss"> $color: #34495e; .content { background: $color; padding: 10px; h1 { color: #fff; } .cities { color: #fff; list-style: none; font-size: 20px; .city { font-weight: 500; } } } </style>
Ve sonuç:
Umarım yararlı olmuştur.
İyi çalışmalar.
Yorumlar Henüz yorum yapılmamış
Yeni Yorum