Câu trả lời:
_ (Gạch dưới) là một phần của scss. Điều đó có nghĩa là biểu định kiểu sẽ được nhập (@import) sang biểu định kiểu chính tức là style.scss. Ưu điểm của việc sử dụng partials là bạn có thể sử dụng nhiều tệp để sắp xếp mã của mình và mọi thứ sẽ được biên dịch trên một tệp duy nhất.
import '_file';
và import 'file';
làm điều tương tự phải không?"
_
? Tôi đang xem xét xóa dấu gạch dưới khỏi tên tệp của tôi. Việc một tệp Sass có phải là một phần (tức là một đoạn mã có thể nhập được hay không) sẽ phụ thuộc vào vị trí của nó trong kiến trúc dự án của bạn, chứ không phải cách tệp được đặt tên.
_
s nếu bạn có cấu trúc dự án của bạn một cách hợp lý.
Một tệp sass bắt đầu bằng dấu gạch dưới là một phần. Đó là một cách tốt để giữ cho phong cách của bạn tách thành các phần hợp lý. Tất cả các tệp này được hợp nhất khi biên dịch khi bạn sử dụng @import
.
Từ hướng dẫn ngôn ngữ Sass:
Bạn có thể tạo các tệp Sass một phần có chứa các đoạn CSS nhỏ mà bạn có thể đưa vào các tệp Sass khác. Đây là một cách tuyệt vời để mô đun hóa CSS của bạn và giúp giữ mọi thứ dễ dàng hơn để duy trì. Một phần chỉ đơn giản là một tệp Sass được đặt tên với dấu gạch dưới hàng đầu. Bạn có thể đặt tên nó là _partial.scss. Gạch dưới cho Sass biết rằng tệp chỉ là một phần của tệp và nó không nên được tạo thành tệp CSS. Sass partials được sử dụng với chỉ thị @import.
Khi bạn bao gồm "_" phía trước tên tệp, nó sẽ không được tạo thành CSS trừ khi bạn nhập nó vào một tệp sass khác không phải là một phần.
giả sử cấu trúc thư mục của bạn là như thế này
/scss
style.scss
_list.scss
/css
nếu bạn chạy lệnh
sass --watch scss:css
chỉ các tệp style.css và style.css.map sẽ được tạo, trình biên dịch sass sẽ bỏ qua _list.scss mà không chuyển đổi nội dung của nó thành tệp CSS.
/scss
style.scss
_list.scss
/css
style.css
style.css.map
cách duy nhất mà bạn có thể sử dụng partials là nhập chúng vào tệp .scss khác với
@import 'list.scss';
nếu bạn xóa '_' trước _list.scss thì kết quả của lệnh sẽ là
/scss
style.scss
list.scss
/css
style.css
style.css.map
list.css
list.css.map
Mục đích chính của việc sử dụng partials là chia mã CSS của chúng tôi thành nhiều phần dễ bảo trì hơn. Hi vọng điêu nay co ich. Cảm ơn.
Các tệp có _ (gạch dưới) bị bỏ qua bởi trình biên dịch. Tuy nhiên, tất cả các tệp đó được nhập vào một tệp SCSS chính (ví dụ: style.scss) thực sự là tệp được biên dịch (nó không có _ (gạch dưới) trong tên của nó)
Mục tiêu cuối cùng là chỉ biên dịch một tệp SCSS và chỉ có một tệp CSS là kết quả của nó, có nhiều lợi thế khác nhau.
Ngoài ra, việc sử dụng trình theo dõi của nút-sass trong môi trường nút sẽ dẫn đến thông báo lỗi nếu bạn không có tiền tố gạch dưới, xem https://github.com/sass/node-sass/issues/2762
import '_file';
vàimport '_file';
làm điều tương tự phải không?