Kesalahan saat beralih dari kompas kasar ke libsass

Saya sedang berupaya untuk beralih dari kompas grunt-contrib ke grunt-sass. Saya melihat kompiler libsass gagal pada beberapa impor di file main.scss.

Ini main.scss

@import "breakpoint";
@import "compass/css3";
@import "compass/css3/user-interface";
@import "compass/css3/transform";
@import "compass/utilities/general/clearfix";

Dan inilah kesalahan yang terjadi saat menjalankan tugas sass:

file to import not found or unreadable: breakpoint
Current dir: example/styles/
Line 1  Column 9  example/styles/main.scss

Apakah ada orang yang terbiasa beralih ke libsass dari compass mengetahui jika ada produk impor serupa yang dapat saya masukkan sebagai penggantinya?


person jerome    schedule 05.05.2015    source sumber


Jawaban (1)


Anda perlu memperbarui jalur impor untuk breakpoint agar mengarah ke lokasi _breakpoint.scss.

grunt-contrib-compass memiliki opsi importPath (mis. importPath: '/bower_components',) yang

Membuat file di bawah folder tertentu dapat ditemukan dengan arahan @import Sass

Karena itu telah dihapus dari gruntfile Anda, Anda sekarang harus menggunakan jalur lengkap untuk mengimpornya:

@import "/bower_components/breakpoint/breakpoint";

Edit: libsass memiliki opsi serupa 'loadPath' yang mengambil serangkaian jalur untuk mencari file ke @import.

grunt.initConfig({
  libsass: {
    options: {
      loadPath: ['my/load/path']
    },
    files: {[
        {
            expand: true,
            cwd: 'my/src/dir',
            src: ['**/*.scss'],
            dest: 'dist',
            ext: '.css'
        }
    ]},
  }});

Konfigurasi baru Anda untuk libsass akan disertakan

Jika Anda memilih untuk tidak melakukannya, Anda harus menginstal breakpoint secara global seperti yang Anda lakukan pada kompas.

gem "breakpoint", "~>2.4.0"
person Rachid    schedule 05.05.2015
comment
Terima kasih @Rachid. Saya rasa itulah pertanyaannya. Apakah ada cara untuk menginstal, untuk libsass, impor yang setara dengan yang kami gunakan untuk kompas? Dan bagaimana cara kerjanya? Contoh gem "breakpoint", "~>2.4.0" Anda tidak masuk akal bagi saya, karena ini adalah tanah libsass, bukan tanah rubi. Atau apakah saya melewatkan sesuatu? - person jerome; 05.05.2015
comment
libsass memiliki opsi loadPath yang mengambil serangkaian jalur untuk mencari file ke @import. (Saya akan memperbarui jawaban untuk memasukkan itu). Sedangkan untuk gem, Anda sudah menggunakan compass yang berarti Anda sudah menginstal Ruby. menggunakan permata untuk menginstal breakpoint hanya akan membuatnya tersedia secara global untuk semua proyek Anda seperti compass. - person Rachid; 05.05.2015
comment
Ya, sebagai bagian dari pekerjaan ini, saya berusaha menghilangkan ketergantungan pada permata sama sekali. Seharusnya aku menjelaskannya lebih awal. Terima kasih! - person jerome; 05.05.2015