2016-03-11 23 views
9

Bên trong một tệp tin scss, tôi đang cố gắng nhập một đoạn scss tùy chỉnh, được sử dụng rộng rãi (trong một ngăn xếp React/SASS/Webpack).Cách sử dụng đường dẫn tuyệt đối để nhập scss tùy chỉnh, khi sử dụng phản ứng + webpack?

Để tôi có thể sử dụng mixin được chia sẻ.

Giả sử tôi đang tạo MyAdminButton và tôi muốn nhập tệp scss có liên quan đến tất cả các nút của dự án. (Đó là scss tùy chỉnh, không phải nhà cung cấp/bên ngoài).

Nó sẽ trông như thế này:

//this actually works but it is a code smell : what if the current file moves ? 
@import "../../stylesheets/_common-btn-styles.scss"; 

.my-admin-btn { 
    // here I can use a shared mixin defined in _common-btn-styles.scss 
} 

này nghe có vẻ không tốt vì nếu tập tin SCSS tôi di chuyển, sau đó mọi thứ đều bị phá vỡ.

Cảm ơn sự giúp đỡ của bạn

+0

Bởi vì refactoring xảy ra khá thường xuyên, Điểm đáng lưu ý nếu tôi đặt file SCSS bên cạnh tệp js của tôi: đặt mọi thứ liên quan đến cùng một thành phần trong cùng một thư mục rất hữu ích. – bdavidxyz

+0

Tôi có cả kiểm tra bẩn và kiểm tra tự động thủ công, nhưng tôi đang tìm kiếm sự vững mạnh ở đây. Tôi biết tôi sẽ di chuyển thư mục mà không sợ. – bdavidxyz

+0

Bạn có thể sử dụng đối số '-I' để chỉ định đường dẫn nhập. Xem 'man scss' để biết thêm thông tin. – Klaus

Trả lời

13

Tìm thấy. Trên thực tế bạn có thể cấu hình sass-loader trong webpack.config.json, như mô tả ở đây: https://github.com/jtangelder/sass-loader

Dưới đây là phần có liên quan:

sassLoader: { 
    includePaths: [path.resolve(__dirname, "./some-folder")] 
} 
Các vấn đề liên quan