Saya baru mengenal Angular dan saya berasal dari komunitas Ember. Mencoba menggunakan Angular-CLI baru berbasis Ember-CLI.
Saya perlu tahu cara terbaik untuk menangani SASS dalam proyek Angular baru. Saya mencoba menggunakan ember-cli-sass
repo untuk melihat apakah itu akan bermain bersama karena sejumlah komponen inti dari Angular-CLI adalah limpasan dari modul Ember-CLI.
Itu tidak berhasil tapi lagi-lagi tidak yakin apakah saya baru saja mengonfigurasi sesuatu.
Juga, apa cara terbaik untuk mengatur gaya dalam proyek Angular baru? Akan menyenangkan untuk memiliki file sass di folder yang sama dengan komponennya.
angular
sass
angular-cli
JDillon522
sumber
sumber
Jawaban:
Solusi & penjelasan lain yang mungkin:
Untuk membuat proyek baru dengan CLI sudut dengan dukungan sass, coba ini:
Anda juga dapat menggunakan
--style=sass
& jika Anda tidak tahu bedanya, baca artikel singkat & mudah ini dan jika Anda masih tidak tahu, cukup ikutiscss
& terus belajar.Jika Anda memiliki proyek sudut 5, gunakan perintah ini untuk memperbarui konfigurasi untuk proyek Anda.
Untuk Versi Terbaru
Untuk Angular 6 untuk menetapkan gaya baru pada proyek yang ada dengan CLI:
Atau Langsung ke angular.json:
sumber
ng set defaults.styleExt scss
style
properti menjadiscss
di.angular-cli.json
ng set defaults.styleExt scss --global
ng config schematics.@schematics/angular:component.styleext scss
Pembaruan untuk Angular 6+
Proyek Baru
Saat membuat proyek baru dengan Angular CLI, tentukan prosesor pra-css sebagai
Gunakan sintaksis SCSS
Gunakan sintaks SASS
Memperbarui proyek yang ada
Tetapkan gaya default pada proyek yang ada dengan menjalankan
Gunakan sintaksis SCSS
Gunakan sintaks SASS
Perintah di atas akan memperbarui file ruang kerja Anda (angular.json) dengan
di mana
styleext
bisa menjadiscss
atausass
sesuai pilihan.Jawaban Asli (untuk Angular <6)
Proyek baru
Untuk proyek-proyek baru kita dapat mengatur opsi
--style=sass
atau--style=scss
sesuai dengan SASS / SCSS rasa yang diinginkanGunakan sintaks SASS
Gunakan sintaksis SCSS
lalu instal
node-sass
,Memperbarui proyek yang ada
Untuk membuat
angular-cli
untuk mengkompilasi file sass dengannode-sass
, saya harus menjalankan,yang menginstal
node-sass
. Kemudianuntuk sintaks SASS
untuk sintaks SCSS
untuk mengatur styleExt default ke sass
(atau)
ubah
styleExt
kesass
atauscss
untuk sintaks yang diinginkan di.angular-cli.json
,untuk sintaks SASS
untuk sintaks SCSS
Meskipun itu menghasilkan kesalahan kompiler.
yang diperbaiki dengan mengubah garis
.angular-cli.json
,untuk baik,
untuk sintaks SASS
untuk sintaks SCSS
sumber
angular-cli.json
sebenarnya.angular-cli.json
. Setelah saya menyadari ini, saya mengeditnya dan ini berfungsi dengan baik. Terima kasih.angular-cli.json
diubah sebagai file tersembunyi (.angular-cli.json
) baru-baru ini (rc2). Tetap..css
file yang sudah ada, Anda mungkin perlu menutup dan membukanya lagi di editor Anda agar dapat mengenali sintaks sass dengan benar. Ini benar bahkan dengan Visual Studio terbaru,Dikutip dari Official github repo di sini -
Lihat disini
sumber
Katakan angular-cli untuk selalu menggunakan scss secara default
Untuk menghindari lewat
--style scss
setiap kali Anda menghasilkan proyek, Anda mungkin ingin menyesuaikan konfigurasi default angular-cli secara global, dengan perintah berikut:Harap dicatat bahwa beberapa versi angular-cli berisi bug dengan membaca bendera global di atas ( lihat tautan ). Jika versi Anda mengandung bug ini, hasilkan proyek Anda dengan:
sumber
--style=scss
Seperti kata Mertcan, cara terbaik untuk menggunakan scss adalah membuat proyek dengan opsi itu:
Angular-cli juga menambahkan opsi untuk mengubah preprosesor css default setelah proyek dibuat dengan menggunakan perintah:
Untuk info lebih lanjut Anda dapat melihat di sini untuk dokumentasi mereka:
https://github.com/angular/angular-cli
sumber
ng set
tampaknya tidak berfungsi pada pengaturan dalamapps
array. Misalnya.ng set apps.prefix blah
melempar "Token tak terduga b di JSON di posisi 0".Saya perhatikan gotcha yang sangat aneh dalam pindah ke file scss !!! Satu HARUS pindah dari yang sederhana:
styleUrls: ['app.component.scss']
kestyleUrls: ['./app.component.scss']
(tambahkan./
) diapp.component.ts
Yang ng lakukan ketika Anda menghasilkan proyek baru, tetapi tampaknya tidak ketika proyek default dibuat. Jika Anda melihat kesalahan penyelesaian selama pembuatan, periksa masalah ini. Hanya butuh saya ~ 1 jam.
sumber
Mungkin yang terbaik
ng new myApp --style=scss
Maka Angular CLI akan membuat komponen baru dengan scss untuk Anda ...
Perhatikan bahwa menggunakan
scss
tidak berfungsi di browser seperti yang mungkin Anda ketahui .. jadi kami membutuhkan sesuatu untuk dikompilasicss
, untuk alasan ini kami dapat menggunakannyanode-sass
, instal seperti di bawah ini:dan kamu harus baik untuk pergi!
Jika Anda menggunakan webpack, baca di sini:
dari starter Angular di sini .
sumber
ng set --global defaults.styleExt=scss
sudah usang sejak ng6. Anda akan mendapatkan pesan ini:Kamu harus menggunakan:
Jika Anda ingin menargetkan proyek tertentu (ganti {project} dengan nama proyek Anda):
sumber
Angular-CLI adalah metode yang direkomendasikan dan merupakan standar dalam komunitas Angular 2+.
Kreta proyek baru dengan SCSS
ng new My-New-Project --style=sass
Konversi proyek yang ada (CLI kurang dari v6)
ng set defaults.styleExt scss
(harus mengganti nama semua file .css secara manual dengan pendekatan ini, jangan lupa untuk mengganti nama di file komponen Anda)
Konversi proyek yang ada (CLI lebih besar dari v6)
"@schematics/angular:component": { "styleext": "sass" }
sumber
Untuk Angular 9.0 ke atas, perbarui
"schematics":{}
objek dalam file angular.json seperti ini:sumber
style
sekarangBerikut ini harus bekerja dalam proyek CLI 6 sudut. Yaitu jika Anda mendapatkan:
Kemudian ( pastikan Anda mengubah nama proyek )
Untuk mendapatkan nama proyek default Anda gunakan:
Namun: Jika Anda telah memigrasi proyek Anda dari <6 hingga sudut 6, ada kemungkinan konfigurasi tersebut tidak akan ada. Dalam hal ini Anda mungkin mendapatkan:
Oleh karena itu diperlukan pengeditan manual
angular.json
.Anda akan menginginkannya terlihat seperti ini (perhatikan properti styleex):
Sepertinya bagiku skema yang terlalu rumit. ¯_ (ツ) _ / ¯
Anda sekarang harus pergi dan mengubah semua file css / less Anda menjadi scss dan memperbarui referensi dalam komponen dll, tetapi Anda harus melakukannya dengan baik.
sumber
Pada 3/10/2019, Anguar menjatuhkan dukungan sass. Tidak ada pilihan apa pun yang Anda berikan
--style
ketika menjalankanng new
, Anda selalu mendapatkan.scss
file yang dihasilkan. Sayang sekali bahwa dukungan sass dijatuhkan tanpa penjelasan.sumber
npm install -g @angular/[email protected]
Jadikan sebagai Global Default
ng set defaults.styleExt=scss --global
sumber
Integrasi Preprosesor CSS Angular CLI mendukung semua preprosesor CSS utama:
Untuk menggunakan preprosesor ini cukup tambahkan file ke styleUrls komponen Anda:
Saat membuat proyek baru, Anda juga dapat menentukan ekstensi mana yang Anda inginkan untuk file gaya:
Atau atur gaya default pada proyek yang ada:
catatan: @ schematics / angular adalah skema default untuk CLI Angular
String gaya yang ditambahkan ke array @ Component.styles harus ditulis dalam CSS karena CLI tidak dapat menerapkan pra-prosesor ke gaya inline.
Berdasarkan dokumentasi sudut https://github.com/angular/angular-cli/wiki/stories-css-preprocessors
sumber
Saya mencoba memperbarui proyek saya untuk menggunakan sass menggunakan perintah ini
tapi dapatkan ini
Jadi saya menghapus proyek saya (karena saya baru memulai dan tidak memiliki kode dalam proyek saya) dan membuat yang baru dengan sass awalnya ditetapkan
Tetapi saya akan sangat menghargai jika seseorang dapat berbagi cara untuk memperbarui proyek yang ada karena itu akan menyenangkan.
sumber
Langkah 1. Instal paket bulma menggunakan npm
Langkah 2. Buka angular.json dan perbarui kode berikut
Itu dia.
Untuk dengan mudah mengekspos alat Bulma, tambahkan stylePreprocessorOptions ke angular.json.
BULMA + ANGULAR 6
sumber