Saya sudah membaca dokumentasi , yang mengatakan bahwa jika saya ingin menggunakan scss
saya harus menjalankan perintah berikut:
ng set defaults.styleExt scss
Tetapi ketika saya melakukan itu dan membuat file itu, saya masih menerima kesalahan ini di konsol saya:
styles.bundle.js:33Uncaught Error: Module build failed: Error: ENOENT: no such file or directory, open '/Users/Egen/Code/angular/src/styles.css'(…)
git diff
Anda akan melihat apa itu berubah.ng new whatever --style=scss
seperti yang ditunjukkan dalam dokumen . Jangan ikuti instruksi untuk mengkonfigurasi proyek yang ada jika itu bukan yang Anda lakukan!Jawaban:
Untuk Angular 6 periksa dokumentasi Resmi
Catatan: Untuk
@angular/cli
versi yang lebih lama dari yang6.0.0-beta.6
digunakanng set
ding config
.Untuk proyek yang ada
Dalam proyek sudut-cli yang sudah ada yang dibuat dengan
css
gaya default, Anda perlu melakukan beberapa hal:scss
jika Anda mendapatkan kesalahan:
Value cannot be found.
gunakan perintah:(* sumber: Pilihan SASS CLI SASS )
Ubah nama
.css
file Anda yang ada menjadi.scss
(yaitu styles.css dan app / app.component.css)Arahkan CLI untuk menemukan styles.scss
Untuk proyek masa depan
Seperti yang disebutkan @Serginho, Anda dapat mengatur ekstensi gaya saat menjalankan
ng new
perintahJika Anda ingin menetapkan default untuk semua proyek yang Anda buat di masa depan, jalankan perintah berikut:
sumber
css
kescss
dalam.angular-cli.json
akan secara otomatis membuat file scss untuk setiap komponen baru yang dihasilkan di masa depan.ng config schematics.@schematics/angular:component.styleext scss
seperti yang diceritakan oleh @ hamilton.limaPada ng6 ini dapat diselesaikan dengan kode berikut ditambahkan ke
angular.json
pada tingkat root:Ubah secara manual
.angular.json
:sumber
schematics
belum di level root tetapi bersarang di dalam proyek saya diangular.json
. Haruskah saya mengabaikannya dan menambahkan ini di tingkat root saja?schematics
sekarang bersarang juga.Buka file angular.json
1. berubah dari
"schematics": {}
untuk
"src/styles.css"
untuk
"src/styles.scss"
kemudian periksa dan ganti nama semua
.css
file dan perbarui file component.ts styleUrls dari.css to .scss
sumber
ng config schematics.@schematics/angular:component.styleext scss
sebagaimana ditentukan dalam dokumen resmi: github.com/angular/angular-cli/wiki/stories-css-preprocessorsUntuk Angular 6,
catatan: @ schematics / angular adalah skema default untuk CLI Angular
sumber
Integrasi CSS Preprocessor untuk Angular CLI: 6.0.3
Saat membuat proyek baru, Anda juga dapat menentukan ekstensi mana yang Anda inginkan untuk file gaya:
Atau atur gaya default pada proyek yang ada:
Dokumentasi CLI sudut untuk semua preprosesor CSS utama
sumber
Invalid JSON character: "s" at 0:0.
ng config
(seperti di atas) adalah metode terbaik TETAPI Anda masih perlu mengganti nama*.css
file menjadi*.scss
DAN mengganti referensiangular.json
kestyle.css
denganstyle.scss
DAN memperbarui semua referensi file komponen distyleUrls
properti ke nama baru. ... maka itu bekerja dengan baik!Untuk proyek yang ada :
Dalam
angular.json
fileDi
build
bagian dan ditest
bagian, ganti:"styles": ["src/styles.css"],
oleh"styles": ["src/styles.scss"],
Menggantikan:
"schematics": {},
oleh"schematics": { "@schematics/angular:component": { "style": "scss" } },
Dalam proyek Anda, ganti nama
.css
file Anda menjadi.scss
Untuk proyek baru , perintah ini melakukan semua pekerjaan:
Untuk konfigurasi global
Versi baru tampaknya tidak memiliki perintah global
sumber
Gunakan perintah:
sumber
Di ng6 Anda perlu menggunakan perintah ini, sesuai dengan pos serupa :
sumber
Untuk pengguna ekstensi Nrwl yang menemukan utas ini: semua perintah dicegat oleh Nx (mis.,
ng generate component myCompent
) Dan kemudian diteruskan ke AngularCLI.Perintah untuk membuat SCSS bekerja di ruang kerja Nx:
ng config schematics.@nrwl/schematics:component.styleext scss
sumber
Perubahan brute force dapat diterapkan. Ini akan berhasil untuk berubah, tetapi ini proses yang lebih panjang.
Buka folder aplikasi src / app
Buka file ini: app.component.ts
Ubah kode ini
styleUrls: ['./app.component.css']
menjadistyleUrls: ['./app.component.scss']
Simpan dan tutup.
Di folder yang sama src / app
Ganti nama ekstensi untuk file app.component.css menjadi (app.component.scss)
Ikuti perubahan ini untuk semua komponen lainnya. (mis. rumah, tentang, kontak, dll ...)
The angular.json file konfigurasi berikutnya. Itu terletak di root proyek.
Cari dan Ganti css ubah ke (scss) .
Simpan dan tutup.
Terakhir, Mulai ulang
ng serve -o
.Jika kompiler mengeluh pada Anda, ulangi langkah-langkahnya lagi.
Pastikan untuk mengikuti langkah-langkah di app / src dengan cermat.
sumber
Dalam versi terbaru Angular (v9), kode di bawah ini perlu ditambahkan
angular.json
Dapat ditambahkan menggunakan perintah berikut:
sumber