PostCSS dùng để làm gì?
Kể từ khi thành lập, SASS (còn được gọi là Syntactally Awesome Style Sheets) đã gây bão trong thế giới Phát triển Web. Show
Được xây dựng như một ngôn ngữ mở rộng cho CSS, ngôn ngữ kịch bản tiền xử lý này cho phép Nhà phát triển tận dụng các khái niệm lập trình đơn giản như câu lệnh điều kiện và biến để viết CSS và kết quả là làm việc với CSS trở nên thú vị hơn rất nhiều Vấn đề là có thể không cần SASS nữa vì PostCSS đã phát triển đủ để thay thế Và chắc chắn rằng tôi đã thấy các nhà phát triển sử dụng cả hai, nhưng PostCSS có một hệ sinh thái plugin khổng lồ có thể sao chép các tính năng có sẵn trong SASS, đồng thời tránh được một số vấn đề phổ biến mà SASS mắc phải Các vấn đề với SASS (và bộ tiền xử lý)Vấn đề lớn nhất với SASS và các bộ tiền xử lý nói chung là chúng không dễ dàng mở rộng Cần một cái gì đó nhiều hơn những gì được cung cấp? Thậm chí tệ hơn? . 👎 May mắn thay, bây giờ chúng ta có thể sử dụng PostCSS để giải quyết những vấn đề này PostCSS là gì?PostCSS là một thư viện JavaScript chuyển đổi CSS thành JavaScript Đúng, bạn đã nghe đúng đó CSS được phiên mã thành một cây cú pháp trừu tượng, sau đó được biểu diễn bằng các đối tượng JavaScript Sự chuyển đổi này cho phép các nhà phát triển có cơ hội thao tác CSS thông qua các đối tượng đó. Sau đó, sau khi CSS của chúng tôi đã được xử lý, các đối tượng sẽ được chuyển đổi lại thành CSS hợp lệ Tuyệt vời phải không? Và đừng lo lắng vì bản thân PostCSS sẽ không làm gì với CSS của chúng ta. Tùy thuộc vào các plugin để áp dụng những thay đổi này, nhưng chúng tôi có thể chọn và chọn những tính năng chúng tôi cần cho dự án của mình Và như hiện tại, có hàng trăm plugin có sẵn và không thiếu các tùy chọn Sử dụng PostCSS với VueVì vậy, hãy xem qua cách thiết lập điều này Nếu bạn đang cài đặt một dự án Vue mới bằng lệnh module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }1, thì PostCSS đã có sẵn trong các dự án Vue của bạn PostCSS là một công cụ để chuyển đổi phong cách với các plugin JS. Các phần bổ trợ này có thể lint CSS của bạn, hỗ trợ biến và mixins, dịch mã cú pháp CSS trong tương lai, hình ảnh nội tuyến, v.v. PostCSS được sử dụng bởi các nhà lãnh đạo ngành bao gồm Wikipedia, Twitter, Alibaba và JetBrains. Plugin Autoprefixer PostCSS là một trong những bộ xử lý CSS phổ biến nhất PostCSS lấy một tệp CSS và cung cấp một API để phân tích và sửa đổi các quy tắc của nó (bằng cách chuyển đổi chúng thành một Cây cú pháp trừu tượng). API này sau đó có thể được sử dụng bởi plugin để làm rất nhiều điều hữu ích, chẳng hạn như. g. , để tự động tìm lỗi hoặc để chèn tiền tố của nhà cung cấp Hỗ trợ / Thảo luận. Gitter module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }0 Để được hỗ trợ thương mại PostCSS (tư vấn, cải thiện văn hóa giao diện người dùng của công ty bạn, plugin PostCSS), hãy liên hệ với Evil Martians tại postcss@evilmartians. com Sự tài trợPostCSS cần sự hỗ trợ của bạn. Chúng tôi đang nhận đóng góp tại Open Collective PluginHiện PostCSS có hơn 200 plugin. Bạn có thể tìm thấy tất cả các plugin trong danh sách plugin hoặc trong danh mục có thể tìm kiếm. Dưới đây là danh sách các plugin yêu thích của chúng tôi — minh họa tốt nhất về những gì có thể được xây dựng trên PostCSS Nếu bạn có bất kỳ ý tưởng mới nào, việc phát triển plugin PostCSS thực sự dễ dàng Giải quyết vấn đề CSS toàn cầu
Sử dụng CSS trong tương lai, ngay hôm nay
Khả năng đọc CSS tốt hơn
Hình ảnh và Phông chữ
xơ vải
Khác
cú phápPostCSS có thể chuyển đổi kiểu theo bất kỳ cú pháp nào, không chỉ CSS. Nếu cú pháp yêu thích của bạn chưa được hỗ trợ, bạn có thể viết một trình phân tích cú pháp và/hoặc trình xâu chuỗi để mở rộng PostCSS
Bài viết
Bạn có thể tìm thấy nhiều bài báo và video khác trên danh sách awesome-postcss Sách
Cách sử dụngBạn có thể bắt đầu sử dụng PostCSS chỉ trong hai bước
CSS-in-JSCách tốt nhất để sử dụng PostCSS với CSS-in-JS là module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }05. Thêm trình tải của nó vào module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }06 của bạn module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }7 Sau đó tạo module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }07 module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] } Bưu kiệnBưu kiện có hỗ trợ PostCSS tích hợp. Nó đã sử dụng Autoprefixer và cssnano. Nếu bạn muốn thay đổi plugin, hãy tạo module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }07 trong thư mục gốc của dự án module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] } Parcel thậm chí sẽ tự động cài đặt các plugin này cho bạn
gói webSử dụng module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }09 trong module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }06 module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }0 Sau đó tạo module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }07 module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] } Nuốt chửngSử dụng module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }72 và module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }73 module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }0 tập lệnh npmĐể sử dụng PostCSS từ giao diện dòng lệnh của bạn hoặc với các tập lệnh npm, có module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }74 module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }7 trình duyệtNếu bạn muốn biên dịch chuỗi CSS trong trình duyệt (ví dụ: trong các công cụ chỉnh sửa trực tiếp như CodePen), chỉ cần sử dụng Browserify hoặc webpack. Họ sẽ đóng gói các tệp PostCSS và plugin thành một tệp duy nhất Để áp dụng các plugin PostCSS cho React Inline Styles, JSS, Radium và CSS-in-JS khác, bạn có thể sử dụng các đối tượng kiểu module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }02 và transforms module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }3 người chạy
API JSĐối với các môi trường khác, bạn có thể sử dụng API JS module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }6 Đọc tài liệu PostCSS API để biết thêm chi tiết về JS API Tất cả người chạy PostCSS phải vượt qua Nguyên tắc dành cho người chạy PostCSS Tùy chọnHầu hết các trình chạy PostCSS chấp nhận hai tham số
tùy chọn phổ biến
Coi cảnh báo là lỗiTrong một số trường hợp, việc xây dựng không thành công dựa trên bất kỳ cảnh báo nào từ PostCSS hoặc một trong các plugin của nó có thể hữu ích. Điều này đảm bảo rằng không có cảnh báo nào không được chú ý và giúp tránh lỗi. Mặc dù không có tùy chọn cho phép coi cảnh báo là lỗi, nhưng có thể dễ dàng thực hiện bằng cách thêm plugin module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }64 vào cuối plugin PostCSS module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }4 Trình chỉnh sửa và tích hợp IDEMã VS
nguyên tử
Văn bản tuyệt vời
vim
WebStormĐể được hỗ trợ PostCSS trong WebStorm và các IDE JetBrains khác, bạn cần cài đặt plugin này Liên hệ bảo mậtĐể báo cáo lỗ hổng bảo mật, vui lòng sử dụng liên hệ bảo mật Tidelift. Tidelift sẽ phối hợp khắc phục và tiết lộ Dành cho doanh nghiệpCó sẵn như là một phần của Đăng ký Tidelift Những người bảo trì của module.exports = { plugins: [ require('autoprefixer'), require('postcss-nested') ] }32 và hàng nghìn gói khác đang làm việc với Tidelift để cung cấp hỗ trợ thương mại và bảo trì cho các phần phụ thuộc nguồn mở mà bạn sử dụng để xây dựng các ứng dụng của mình. Tiết kiệm thời gian, giảm rủi ro và cải thiện tình trạng của mã, đồng thời trả tiền cho người duy trì chính xác các phụ thuộc mà bạn sử dụng. Tìm hiểu thêm Trình tải PostCSS dùng để làm gì?PostCSS là. một công cụ để chuyển đổi kiểu bằng plugin JS . Các plugin này có thể tạo ra CSS của bạn, hỗ trợ các biến và mixin, dịch mã cú pháp CSS trong tương lai, hình ảnh nội tuyến, v.v.
PostCSS có còn phù hợp không?Nó là một công cụ khá phổ biến hiện nay, nhưng chưa được sử dụng đại trà như SASS hay LESS. Tuy nhiên, tin đồn xung quanh PostCSS đang tăng lên một cách linh hoạt và lợi ích so với các hệ thống khác ngày càng trở nên rõ ràng hơn
PostCSS có phải là một khung không?PostCSS là một khuôn khổ để phát triển các công cụ CSS . Nó có thể được sử dụng để phát triển một ngôn ngữ mẫu như Sass và LESS. Lõi PostCSS bao gồm. Trình phân tích cú pháp CSS tạo cây cú pháp trừu tượng.
Tôi nên sử dụng PostCSS hay Sass?Đó là điểm khác biệt lớn nhất giữa Sass và PostCSS. Sass đi kèm với rất nhiều chức năng sẵn có, ngay cả khi bạn không cần một số chức năng đó. PostCSS cho phép bạn chọn chức năng nào bạn muốn thêm (và họ có một lựa chọn khá tuyệt vời về các plugin được tạo độc lập). |