PostCSS có còn phù hợp không?
Bộ tiền xử lý CSS phổ biến, nhưng chúng có một số nhược điểm. Trong phần giới thiệu về PostCSS này, chúng ta sẽ khám phá những ưu điểm của PostCSS, cách thức hoạt động của nó và phạm vi mở rộng của các plugin của nó có thể đạt được những gì Show
Giá trị và hạn chế của tiền xử lýHầu hết các nhà phát triển CSS đều quen thuộc với bộ tiền xử lý. Các công cụ bao gồm Sass, Less và Stylus đã giới thiệu các khái niệm như phân phần tệp, lồng nhau, biến và mixin. Một số tính năng đang dần xuất hiện trong CSS gốc, nhưng bộ tiền xử lý vẫn hữu ích để quản lý các cơ sở mã lớn và duy trì tính nhất quán về phong cách và mã hóa Có thể khó tưởng tượng cuộc sống mà không có bộ tiền xử lý CSS, nhưng có những nhược điểm
Những lợi ích nhiều hơn những rủi ro này, nhưng có một giải pháp thay thế… PostCSS là gì?PostCSS không phải là bộ tiền xử lý (mặc dù nó có thể hoạt động giống như vậy). Đó là một nút. js lấy CSS hợp lệ và nâng cao nó. Ngay cả những người sử dụng Sass, Less hoặc Stylus cũng thường chạy một bước PostCSS sau quá trình biên dịch CSS ban đầu. Bạn có thể đã gặp plugin PostCSS Autoprefixer tự động thêm tiền tố nhà cung cấp 3, 4 và 5 vào các thuộc tính CSS yêu cầu chúngVề bản thân, PostCSS không làm gì cả. Đó là một trình phân tích cú pháp mã hóa mã CSS để tạo một cây cú pháp trừu tượng. Plugin có thể xử lý cây này và cập nhật các thuộc tính tương ứng. Khi tất cả các plugin đã hoàn thành công việc của chúng, PostCSS sẽ định dạng lại mọi thứ thành một chuỗi và xuất ra tệp CSS Khoảng 350 plugin có sẵn và hầu hết thực hiện một tác vụ đơn lẻ như khai báo nội tuyến 6, đơn giản hóa các hàm 7, xử lý nội dung hình ảnh, linting cú pháp, rút gọn, v.v. Tìm kiếm plugin thân thiện với người dùng hơn có sẵn tại danh mục plugin PostCSSCác lợi ích của PostCSS bao gồm
Cài đặt PostCSSPostCSS yêu cầu nút. js, nhưng hướng dẫn này trình bày cách cài đặt và chạy PostCSS từ bất kỳ thư mục nào — ngay cả những thư mục không phải là Node. dự án js. Bạn cũng có thể sử dụng PostCSS từ webpack, Parcel, Gulp. js và các công cụ khác, nhưng chúng tôi sẽ sử dụng dòng lệnh Cài đặt PostCSS trên toàn cầu trên hệ thống của bạn bằng cách chạy như sau 2Đảm bảo nó hoạt động bằng cách nhập cái này 3Cài đặt plugin PostCSS đầu tiên của bạnBạn sẽ cần ít nhất một plugin để làm bất cứ điều gì thiết thực. Plugin nhập PostCSS là một tùy chọn tốt giúp nội tuyến tất cả các khai báo 6 và hợp nhất CSS của bạn thành một tệp duy nhất. Cài đặt nó trên toàn cầu như vậy
Để kiểm tra plugin này, hãy mở hoặc tạo một thư mục dự án mới, chẳng hạn như 5, sau đó tạo thư mục con 6 cho các tệp nguồn của bạn. Tạo một tệp 7 để tải tất cả các phần________số 8Sau đó tạo một tệp 8 trong cùng một thư mục 1Thực hiện theo điều này với một tệp 9 3Chạy PostCSS từ thư mục gốc của dự án bằng cách chuyển tệp CSS đầu vào, danh sách plugin tới 10 và tên tệp 11 6Nếu bạn không có bất kỳ lỗi nào, đoạn mã sau sẽ được xuất ra tệp 12 mới trong thư mục gốc của dự án 8Lưu ý rằng PostCSS có thể xuất các tệp CSS ở bất kỳ đâu, nhưng thư mục đầu ra phải tồn tại; Kích hoạt và vô hiệu hóa bản đồ nguồnBản đồ nguồn nội tuyến được xuất theo mặc định. Khi tệp CSS đã biên dịch được sử dụng trong trang HTML, việc kiểm tra tệp đó trong các công cụ dành cho nhà phát triển của trình duyệt sẽ hiển thị tệp và dòng 6 gốc. Ví dụ: xem kiểu 14 sẽ làm nổi bật dòng 2 của 15 thay vì dòng 8 của 12Bạn có thể tạo bản đồ nguồn bên ngoài bằng cách thêm công tắc 17 (hoặc 18) vào lệnh 19. Có rất ít lợi ích ngoài việc tệp CSS sạch hơn và trình duyệt không cần tải bản đồ nguồn trừ khi các công cụ dành cho nhà phát triển được mởBạn có thể xóa bản đồ nguồn bằng 30. Luôn sử dụng tùy chọn này khi xuất tệp CSS để triển khai sản xuấtCài đặt và sử dụng Plugin AutoPrefixerPlugin Autoprefixer thường là lần gặp đầu tiên của nhà phát triển với PostCSS. Nó thêm tiền tố của nhà cung cấp theo cách sử dụng trình duyệt và các quy tắc được xác định tại caniuse. com. Tiền tố của nhà cung cấp ít được sử dụng hơn trong các trình duyệt hiện đại ẩn chức năng thử nghiệm đằng sau các cờ. Tuy nhiên, vẫn có những thuộc tính như 31 yêu cầu tiền tố 32, 33 và 34Cài đặt plugin trên toàn cầu với cái này 1Sau đó tham chiếu nó như một tùy chọn 10 khác trên lệnh 19 của bạn 4Kiểm tra khai báo 37 từ dòng 11 của 12 để xem các thuộc tính có tiền tố nhà cung cấp 30AutoPrefixer sử dụng mô-đun danh sách trình duyệt để xác định tiền tố trình duyệt nào cần thêm. mặc định là
Bạn có thể thay đổi các giá trị mặc định này bằng cách tạo tệp 63. Ví dụ 31Hoặc bạn có thể thêm một mảng 64 vào 65 trong một Nút. dự án js. Ví dụ 32Nhắm mục tiêu các trình duyệt có thị phần từ 2% trở lên chỉ yêu cầu tiền tố 32 trong Safari 33Giảm thiểu CSS với cssnanocssnano thu nhỏ CSS bằng cách loại bỏ khoảng trắng, nhận xét và các ký tự không cần thiết khác. Kết quả sẽ khác nhau, nhưng bạn có thể mong đợi giảm 30% tệp mà bạn có thể triển khai cho các máy chủ sản xuất để có hiệu suất trang web tốt hơn Cài đặt cssnano trên toàn cầu 34Sau đó thêm nó vào lệnh 19 của bạn. Chúng tôi cũng sẽ bao gồm 30 để tắt bản đồ nguồn 35Điều này làm giảm tệp CSS xuống còn 97 ký tự 36Tự động xây dựng khi tệp nguồn thay đổiTùy chọn PostCSS 69 tự động tạo tệp CSS của bạn khi bất kỳ tệp nguồn nào thay đổi. Bạn cũng có thể muốn thêm công tắc 80 báo cáo khi quá trình xây dựng diễn ra 37Thiết bị đầu cuối của bạn sẽ hiển thị 81. Thực hiện thay đổi đối với bất kỳ tệp nào và 12 được xây dựng lại. PostCSS cũng sẽ báo cáo bất kỳ vấn đề nào như lỗi cú phápĐể kết thúc, nhấn Ctrl. Cmd + C trong thiết bị đầu cuối Tạo tệp cấu hình PostCSSLệnh 19 sẽ trở nên dài và rườm rà khi bạn thêm các plugin và tùy chọn khác. Bạn có thể tạo một tệp cấu hình JavaScript xác định tất cả các tùy chọn và có thể xác định một cách hợp lý liệu nó đang chạy trong môi trường phát triển hay sản xuấtTạo một tệp cấu hình có tên 84 trong thư mục gốc của thư mục dự án của bạn. Aso lưu ý những điều sau đây
Thêm đoạn mã sau vào 84 38PostCSS chuyển một đối tượng 11 chứa các tùy chọn dòng lệnh. Ví dụ 39Mô-đun phải trả về một đối tượng có thuộc tính tùy chọn
Đoạn mã trên phát hiện xem lệnh 19 có tùy chọn 16 hay không. Đây là lối tắt để đặt biến môi trường 17. Để biên dịch CSS ở chế độ phát triển, hãy chạy 19 với 19 và, tùy chọn, đặt 40. Điều này tạo ra một bản đồ nguồn nội tuyến và không thu nhỏ đầu ra 0Để chạy trong chế độ sản xuất và biên dịch CSS đã rút gọn mà không cần bản đồ nguồn, hãy sử dụng cái này 1Lý tưởng nhất là bạn có thể chạy chúng dưới dạng tập lệnh terminal hoặc 41 để giảm thêm nỗ lực gõTiến độ PostCSSBây giờ bạn đã biết những kiến thức cơ bản về PostCSS. Tăng cường chức năng là vấn đề thêm và định cấu hình các plugin khác. Hãy đầu tư một chút thời gian và bạn sẽ sớm có một quy trình làm việc mà bạn có thể điều chỉnh cho bất kỳ dự án web nào Hướng dẫn về cách sử dụng PostCSS làm giải pháp thay thế có thể định cấu hình cho Sass cung cấp thêm các ví dụ cấu hình và tùy chọn plugin Liên kết khác
Chia sẻ bài viết nàyCraig Buckler Craig là một nhà tư vấn web tự do ở Vương quốc Anh, người đã xây dựng trang đầu tiên của mình cho IE2. 0 vào năm 1995. Kể từ thời điểm đó, anh ấy đã ủng hộ các tiêu chuẩn, khả năng truy cập và các kỹ thuật HTML5 thực hành tốt nhất. Anh ấy đã tạo các thông số kỹ thuật doanh nghiệp, trang web và ứng dụng trực tuyến cho các công ty và tổ chức bao gồm Nghị viện Vương quốc Anh, Nghị viện Châu Âu, Bộ Năng lượng & Biến đổi Khí hậu, Microsoft, v.v. Anh ấy đã viết hơn 1.000 bài báo cho SitePoint và bạn có thể tìm thấy anh ấy @craigbuckler PostCSS có còn được sử dụng không?Nó được sử dụng trong plugin Autoprefixer phổ biến dùng để tự động thêm tiền tố của nhà cung cấp vào các thuộc tính CSS yêu cầu chúng . PostCSS cũng được sử dụng bởi các công nghệ khác như Vite và Next. js, cũng như khung CSS TailwindCSS là plugin PostCSS.
Tôi có nên sử dụng PostCSS không?PostCSS là một công cụ rất hữu ích đã xuất hiện được một thời gian. Nó khuyến khích bạn viết nhiều CSS đơn giản hơn và cho phép bạn sử dụng hoặc viết các plugin mạnh mẽ của riêng bạn để chuyển đổi nó
Sass có còn cần thiết vào năm 2022 không?Mặc dù tính năng lồng nhau sắp có trong CSS, nhưng phiên bản Sass đã có ở đây hôm nay và phiên bản này có nhiều tính năng hơn so với tính năng lồng ghép CSS gốc sẽ có. Chẳng hạn, chúng tôi không bao giờ cần & trong Sass , điều này khiến nó trở nên trực quan hơn. Và chúng ta có thể lồng các quy tắc bên trong bộ chọn. Và chúng ta có thể sử dụng lồng nhau để tạo tên lớp gia tăng.
Tôi nên sử dụng Sass hay PostCSS?Trong SASS, chúng tôi có thể thêm các bộ chọn lồng nhau sẽ được chuyển đổi thành các bộ chọn hợp lệ, nhưng với PostCSS, chúng tôi không cần thêm SASS vào hỗn hợp. In addition, the & selector is supported, which allows us to use the parent selector. Nested selectors clarify how styles are organized and related to one another. |