เกิดข้อผิดพลาดในการเปลี่ยนจากเข็มทิศฮึดฮัดเป็น libsass

ฉันกำลังดำเนินการย้ายจากเข็มทิศฮึดฮัดที่มีส่วนร่วมไปสู่ฮึดฮัด ฉันเห็นว่าคอมไพเลอร์ libsass ล้มเหลวในการนำเข้าบางส่วนในไฟล์ main.scss

นี่คือ main.scss

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

และนี่คือข้อผิดพลาดที่เกิดขึ้นเมื่อรันงาน sass:

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

มีใครคุ้นเคยกับการเปลี่ยนมาใช้ libsass จากเข็มทิศรู้ไหมว่ามีสิ่งเทียบเท่าสำหรับการนำเข้าเหล่านี้ที่ฉันสามารถนำไปใช้แทนได้หรือไม่


person jerome    schedule 05.05.2015    source แหล่งที่มา


คำตอบ (1)


คุณต้องอัปเดตเส้นทางการนำเข้าสำหรับ breakpoint เพื่อให้ชี้ไปยังตำแหน่งของ _breakpoint.scss

grunt-contrib-compass มีตัวเลือก importPath (เช่น importPath: '/bower_components') ซึ่ง

ทำให้ไฟล์ภายใต้โฟลเดอร์ที่ระบุสามารถค้นหาได้โดยคำสั่ง @import ของ Sass

เนื่องจากสิ่งนั้นถูกลบออกจาก gruntfile ของคุณแล้ว ตอนนี้คุณควรใช้เส้นทางแบบเต็มเพื่อนำเข้า:

@import "/bower_components/breakpoint/breakpoint";

แก้ไข: libsass มีตัวเลือกที่คล้ายกัน 'loadPath' ซึ่งใช้อาร์เรย์ของเส้นทางเพื่อค้นหาไฟล์ไปยัง @import

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

การกำหนดค่าใหม่ของคุณสำหรับ libsass จะรวมอยู่ด้วย

หากคุณเลือกที่จะไม่ทำเช่นนั้น คุณจะต้องติดตั้งเบรกพอยต์ทั่วโลกเหมือนกับที่คุณทำกับเข็มทิศ

gem "breakpoint", "~>2.4.0"
person Rachid    schedule 05.05.2015
comment
ขอบคุณ @Rachid. ฉันเดาว่านั่นคือคำถาม มีวิธีการติดตั้งสำหรับ libsass การนำเข้าที่เทียบเท่ากับที่เราใช้สำหรับเข็มทิศหรือไม่? และมันจะทำงานอย่างไร? ตัวอย่าง gem "breakpoint", "~>2.4.0" ของคุณไม่สมเหตุสมผลสำหรับฉัน เนื่องจากนี่คือดินแดนลิบซัส ไม่ใช่ดินแดนทับทิม หรือฉันขาดอะไรบางอย่างไป? - person jerome; 05.05.2015
comment
libsass มีตัวเลือก loadPath ซึ่งใช้อาร์เรย์ของเส้นทางเพื่อค้นหาไฟล์ไปยัง @import (ฉันจะอัปเดตคำตอบเพื่อรวมสิ่งนั้น) สำหรับ gem คุณใช้ compass อยู่แล้ว ซึ่งหมายความว่าคุณได้ติดตั้ง Ruby ไว้แล้ว การใช้ gem เพื่อติดตั้ง breakpoint จะทำให้โครงการทั้งหมดของคุณพร้อมใช้งานทั่วโลกเช่นเดียวกับ compass - person Rachid; 05.05.2015
comment
ใช่แล้ว ในส่วนหนึ่งของงานนี้ ฉันกำลังพยายามยกเลิกการพึ่งพาอัญมณีทั้งหมด ฉันควรจะทำให้มันชัดเจนก่อนหน้านี้ ขอบคุณ! - person jerome; 05.05.2015