2014-11-12 14 views
5

Tôi đã có một dự án với cấu trúc tập tin sau Meteor:Meteor Sass sử dụng sass cơ sở từ các tập tin sâu hơn

.meteor 
client 
    dashboard 
    dashboard.scss 
    client.scss 

tập tin sass cơ bản của tôi là client.scss đó nằm trong thư mục client.

Nếu tôi xác định $ nút phẳng trong client.scss. Sau đó, tôi không thể sử dụng nó trong dashboard.css mà không cần thêm import '../client';. Tuy nhiên khi tôi làm điều này trong nhiều tập tin này gây ra các mục trùng lặp trong tập tin css thống nhất. Nếu tôi không nhập nó thì Meteor báo cáo lỗi do không tìm biến.

Tôi có nên thêm cài đặt vào trình biên dịch sass để làm việc này không?

+0

Tôi không thấy sự cố ở đây? Nếu bạn cần biến có thể truy cập ở nơi khác, sau đó xác định nó ở nơi khác hoặc thay đổi thứ tự nhập khẩu của bạn. – cimmanon

+0

Toàn bộ điểm có tệp sass cơ sở là tôi không muốn redeclare màu của tôi trong mỗi tệp con. Và tôi không có bất kỳ ảnh hưởng nào đối với lệnh nhập khẩu theo như tôi biết. – Difusio

+0

Và bạn không thể tạo tệp * mới * chỉ chứa các biến? – cimmanon

Trả lời

4

Nếu bạn đang sử dụng gói fourseven:scss để biên dịch Sass trong dự án Meteor, bạn chỉ cần đặt trước tên tệp của các tệp .scss được nhập có dấu gạch dưới là the standard method of naming a partial stylesheet with Sass.

Trong trường hợp của bạn, thư mục và cấu trúc tập tin nên được thay đổi:

.meteor 
    client 
    dashboard 
     _dashboard.scss 
    client.scss 

Và sau đó bạn sẽ có thể sử dụng một tuyên bố @import bao gồm _dashboard.scss trong client.scss như vậy:

@import 'dashboard' 

Nếu vì một số lý do bạn không muốn đổi tên các tệp của mình theo cách đó, bạn cũng có thể sử dụng tiện ích mở rộng .scssimport cho cùng một kết quả.

Hy vọng điều đó sẽ hữu ích!