Hướng dẫn how do i enable css loader in react? - làm cách nào để kích hoạt trình tải css trong phản ứng?
Tiêu đề ## Tôi sử dụng Phiên bản phản ứng phiên bản 3.4.3 (phiên bản mới nhất). Bạn chỉ cần làm theo các bước đã cho dưới đây.Chạy lệnh: NPM Run Eject Show
Sau đó, bạn sẽ nhận được một tệp cấu hình, trong webpack.config.js mở đó Và kiểm tra tìm kiếm: CSSREGEX hoặc chỉ tìm kiếm CSSREGEX Bây giờ bạn sẽ thấy một cái gì đó như thế này: Kiểm tra: Cssregex,
Bây giờ sau khi Nhập tải: 1, thêm các mô -đun: Đúng và chỉ lưu tệp. Bây giờ bạn có thể khởi động lại máy chủ bằng NPM Start và bạn sẽ thấy các kiểu của mình được áp dụng. Mở tệp .js và statement nhập như thế này
Xin đừng quên thêm tiện ích mở rộng .CSS vào tệp kiểu dáng, tại thời điểm nhập..css extension to the styling file, at the time of import. Sau đó, câu lệnh nhập này cho phép bạn thực hiện các thay đổi sau trong các thẻ thành phần như thế này 03 04 là những gì bạn đã xác định trong tệp 05 của bạn Trong bài viết này, chúng tôi sẽ học cách cung cấp tên lớp động cho ứng dụng React của chúng tôi. Các bướcNpm run eject Lệnh này sẽ cho phép chúng tôi tùy chỉnh các cấu hình và các tùy chọn được xác định trước khi chúng tôi chạy lệnh của created-react-app. Đó là một hoạt động một chiều mà có thể được hoàn tác sau này. Thay đổi cấu hình webpackChúng tôi cần định cấu hình trình tải webpack để bật trình tải CSS, sau đó sẽ cung cấp đặt tên động cho các lớp của chúng tôi. Đặt cấu hình là - { test: /\.css$/, loader: 'style-loader' }, { test: /\.css$/, loader: 'css-loader', query: { modules: true, localIdentName: '[name]_[local]__[hash:base64:5]' } } Nhập các tệp CSS một cách linh hoạtimport styles from './App.css' Thí dụTrong ví dụ này, chúng tôi sẽ xây dựng một ứng dụng React có cách đặt tên động cho các lớp của các phần tử JSX. App.jsx import React from 'react'; import styles from './App.css' const App = () => { return ( Trong ví dụ trên, một tên lớp động được cung cấp cho thẻ. Đầu ra
Cập nhật vào ngày 18 tháng 3 năm 2021 10:33:47
Tuyên bố miễn trừ trách nhiệm: CSS-Loader là gói của bên thứ ba được duy trì bởi các thành viên cộng đồng, nó có khả năng không có cùng hỗ trợ, chính sách bảo mật hoặc giấy phép như webpack và nó không được duy trì bởi webpack. css-loader is a third-party package maintained by community members, it potentially does not have the same support, security policy or license as webpack, and it is not maintained by webpack.
06 diễn giải 07 và 08 như 09 và sẽ giải quyết chúng.Bắt đầu
Để bắt đầu, bạn sẽ cần cài đặt 06:
hoặc
hoặc
Sau đó thêm plugin vào cấu hình 11 của bạn. Ví dụ:file.js 0webpack.config.js 1Và chạy 11 thông qua phương pháp ưa thích của bạn.Nếu, vì lý do này hay lý do khác, bạn cần trích xuất CSS dưới dạng tệp (tức là không lưu trữ CSS trong mô -đun JS), bạn có thể muốn xem ví dụ đề xuất. Tùy chọn
import cssStyleClassName from './MyAppStyle.css'; 13Type: 2Mặc định: 21Cho phép bật/tắt xử lý các hàm CSS 13 và 23. Nếu được đặt thành 24, 06 sẽ không phân tích bất kỳ đường dẫn nào được chỉ định trong 13 hoặc 23. Một chức năng cũng có thể được thông qua để kiểm soát hành vi này một cách linh hoạt dựa trên đường dẫn đến tài sản. Bắt đầu với phiên bản 4.0.0, các đường dẫn tuyệt đối được phân tích cú pháp dựa trên gốc máy chủ.Ví dụ giải quyết: 3Để nhập tài sản từ đường dẫn 28 (bao gồm 29) và cho 30, tiền tố nó với 31: 4
import cssStyleClassName from './MyAppStyle.css';
|
Nó không được phép sử dụng các từ dành riêng của JavaScript trong tên lớp CSS. | Bạn có thể bật mô -đun ES có tên xuất khẩu bằng cách sử dụng: | Để đặt tên tùy chỉnh cho tên được đặt tên, có thể sử dụng tùy chọn 90 làm hàm. Ví dụ dưới đây trong phần 93. |
---|---|---|
Npm run eject07 | 60
| Cho phép 06 xuất tên từ lớp toàn cầu hoặc ID, vì vậy bạn có thể sử dụng tên địa phương.
|
Npm run eject09 | 60
| Mặc định: Dựa trên giá trị tùy chọn 98, nếu 21 - 91, nếu không Npm run eject01 |
Npm run eject11 | 60
| Phong cách xuất khẩu tên lớp. |
Npm run eject13 | 60
| Theo mặc định, các phím JSON đã xuất phản chiếu các tên lớp (tức là giá trị Npm run eject01). |
Npm run eject15 | 60
| Chỉ giá trị 91 cho phép nếu bạn đặt giá trị 88 thành 21.
|
file.css
import React from 'react'; import styles from './App.css' const App = () => { return (9); }; export default App;TutorialsPoint
file.js
npm install --save-dev css-loader
0webpack.config.js
npm install --save-dev css-loader
1.styleName{
your properties here...
}
02.styleName{
your properties here...
}
02webpack.config.js
npm install --save-dev css-loader
2webpack.config.js
npm install --save-dev css-loader
3Npm run eject
18
Type:
npm install --save-dev css-loader
4Mặc định:
import cssStyleClassName from './MyAppStyle.css';
24Cho phép/vô hiệu hóa các mô -đun ES có tên xuất khẩu cho người dân địa phương.
Cảnh báo when you use css modules for pre-rendering (for example SSR). For pre-rendering with
Npm run eject20 you should use this option instead of
Npm run eject21 in the pre-rendering bundle. It doesn't embed CSS but only exports the identifier mappings.
webpack.config.js
npm install --save-dev css-loader
5import cssStyleClassName from './MyAppStyle.css'; 17
Type:
npm install --save-dev css-loader
6Tên của người dân địa phương được chuyển đổi thành Camelcase, tức là tùy chọn
.styleName{
your properties here...
}
90 có giá trị .styleName{
your properties here...
}
91 theo mặc định.Nó không được phép sử dụng các từ dành riêng của JavaScript trong tên lớp CSS.
Bạn có thể bật mô -đun ES có tên xuất khẩu bằng cách sử dụng:
webpack.config.js
npm install --save-dev css-loader
7Để đặt tên tùy chỉnh cho tên được đặt tên, có thể sử dụng tùy chọn
.styleName{
your properties here...
}
90 làm hàm. Ví dụ dưới đây trong phần .styleName{
your properties here...
}
93.import cssStyleClassName from './MyAppStyle.css'; 16
Type:
npm install --save-dev css-loader
8Cho phép
import cssStyleClassName from './MyAppStyle.css';
06 xuất tên từ lớp toàn cầu hoặc ID, vì vậy bạn có thể sử dụng tên địa phương.Mặc định: Dựa trên giá trị tùy chọn
.styleName{
your properties here...
}
98, nếu import cssStyleClassName from './MyAppStyle.css';
21 - .styleName{
your properties here...
}
91, nếu không Npm run eject01
webpack.config.js
npm install --save-dev css-loader
9import cssStyleClassName from './MyAppStyle.css'; 18
Type:
yarn add -D css-loader
0Phong cách xuất khẩu tên lớp.
Theo mặc định, các phím JSON đã xuất phản chiếu các tên lớp (tức là giá trị
Npm run eject01).
Chỉ giá trị
.styleName{
your properties here...
}
91 cho phép nếu bạn đặt giá trị .styleName{
your properties here...
}
88 thành import cssStyleClassName from './MyAppStyle.css';
21.webpack.config.js
yarn add -D css-loader
1import cssStyleClassName from './MyAppStyle.css'; 19
Type:
yarn add -D css-loader
2Tên
Loại hình
webpack.config.js
yarn add -D css-loader
3src/index.js
yarn add -D css-loader
4Npm run eject
40
Xuất mặc định là mảng các mô -đun với API cụ thể được sử dụng trong
Npm run eject43 hoặc khác.
webpack.config.js
yarn add -D css-loader
5src/index.js
yarn add -D css-loader
6Npm run eject
46
Cảnh báo
Bạn không cần
Npm run eject43 nữa, vui lòng xóa nó.
Cảnh báo
Bạn không cần
Npm run eject43 nữa, vui lòng xóa nó.
Tùy chọn
Npm run eject48 sẽ được bật nếu bạn muốn sử dụng nó với
Npm run eject49, theo mặc định cho người dân địa phương sẽ được sử dụng có tên xuất khẩu.
webpack.config.js
yarn add -D css-loader
7src/index.js
yarn add -D css-loader
8Npm run eject
51
Cảnh báo
Bạn không cần
Npm run eject43 nữa, vui lòng xóa nó.
Cảnh báo
Bạn không cần
Npm run eject43 nữa, vui lòng xóa nó.
Cảnh báo
Bạn không cần
Npm run eject43 nữa, vui lòng xóa nó.
Cảnh báo
Tùy chọn
Npm run eject48 sẽ được bật nếu bạn muốn sử dụng nó vớiNpm run eject49, theo mặc định cho người dân địa phương sẽ được sử dụng có tên xuất khẩu.
Xuất mặc định là
import cssStyleClassName from './MyAppStyle.css';
60.import cssStyleClassName from './MyAppStyle.css';
07 Các quy tắc chưa được phép, thêm thông tinBản đồ nguồn hiện không được hỗ trợ trong
Npm run eject56 do lỗi
- Xuất mặc định là bảng kiểu có thể xây dựng (nghĩa là
Npm run eject
41). - Hữu ích cho các yếu tố tùy chỉnh và bóng tối.
webpack.config.js
yarn add -D css-loader
9src/index.js
pnpm add -D css-loader
0Thêm thông tin:
pnpm add -D css-loader
1Sử dụng tập lệnh mô -đun CSS để nhập bảng kiểu
Hồ sơ kiểu có thể xây dựng: Kiểu tái sử dụng liền mạch
Đối với mục đích di chuyển, bạn có thể sử dụng cấu hình sau:
Ví dụ
Giới thiệu
webpack.config.js
pnpm add -D css-loader
2Đối với Npm run eject58 xây dựng, nên trích xuất CSS từ gói của bạn có thể sử dụng tải tài nguyên CSS/JS song song sau này. Điều này có thể đạt được bằng cách sử dụng mini-CSS-Extract-plugin, bởi vì nó tạo ra các tệp CSS riêng biệt. Đối với chế độ Npm run eject59 (bao gồm Npm run eject60), bạn có thể sử dụng trình tải kiểu, vì nó tiêm CSS vào DOM bằng cách sử dụng nhiều và hoạt động nhanh hơn.
Ghi chú
Không sử dụngNpm run eject43 và
Npm run eject20 cùng nhau.
Tắt phân giải URL bằng cách sử dụng bình luận Npm run eject63
Với sự trợ giúp của
Npm run eject63Comment, có thể vô hiệu hóa việc xử lý các nguồn cho các quy tắc và cho các tuyên bố riêng lẻ.
3pnpm add -D css-loader
webpack.config.js
pnpm add -D css-loader
4Tài sản
Các
Npm run eject65 sau đây có thể tải các tệp CSS, nhúng hình ảnh PNG/JPG/JPG/SVG nhỏ cũng như phông chữ dưới dạng URL dữ liệu và sao chép các tệp lớn hơn vào thư mục đầu ra.
Đối với WebPack v5:
Trích xuất
Để xây dựng sản xuất, nên trích xuất CSS từ gói của bạn có thể sử dụng tải song song tài nguyên CSS/JS sau này.
Điều này có thể đạt được bằng cách sử dụng mini-CSS-Extract-plugin để trích xuất CSS khi chạy ở chế độ sản xuất.
webpack.config.js
pnpm add -D css-loader
5Thay vào đó, nếu tìm kiếm hiệu suất phát triển tốt hơn và đầu ra CSS bắt chước sản xuất. Trích xuất-CSS-Chunks-WebPack-Plugin cung cấp một mô-đun nóng tải lại thân thiện, phiên bản mở rộng của mini-CSS-Extract-plugin. HMR Real CSS Files in dev, hoạt động như mini-CSS trong không DEV
index.css
pnpm add -D css-loader
6webpack.config.js
pnpm add -D css-loader
7CSS thuần túy, mô -đun CSS và Postcss
webpack.config.js
pnpm add -D css-loader
8Khi bạn có CSS thuần túy (không có mô -đun CSS), các mô -đun CSS và Postcss trong dự án của bạn, bạn có thể sử dụng thiết lập này:
Giải quyết các URL chưa được giải quyết bằng cách sử dụng bí danh
Xuất xuất với tên xuất tùy chỉnh
webpack.config.js
pnpm add -D css-loader
9variables.scss
Tách các tính năng ________ 225 và
Npm run eject67
import cssStyleClassName from './MyAppStyle.css';
00Component.module.scss
Thiết lập sau đây là một ví dụ về việc cho phép các tính năng
.styleName{
your properties here...
}
25 (chẳng hạn như .styleName{
your properties here...
}
26 và .styleName{
your properties here...
}
27) mà không sử dụng chức năng Npm run eject67 bằng cách đặt tùy chọn
import cssStyleClassName from './MyAppStyle.css';
61 cho tất cả các tệp không khớp với quy ước đặt tên Npm run eject73. Điều này là để tham khảo vì có các tính năng
Npm run eject74 được áp dụng cho tất cả các tệp là hành vi mặc định ____106 trước V4. Trong khi đó, tất cả các tệp khớp với
Npm run eject73 được coi là
Npm run eject77 trong ví dụ này.
import cssStyleClassName from './MyAppStyle.css';
01Component.jsx
Một trường hợp ví dụ được giả định trong đó một dự án yêu cầu các biến vẽ Canvas được đồng bộ hóa với CSS - Vẽ Canvas sử dụng cùng một màu (được đặt bởi tên màu trong JavaScript) làm nền HTML (được đặt theo tên lớp trong CSS).
import cssStyleClassName from './MyAppStyle.css';
02Tệp được coi là ________ 374 chỉ.
Tệp được coi là
Npm run eject67.
Sử dụng cả chức năng
Npm run eject67 cũng như các biến SCSS trực tiếp trong JavaScript.
Đóng góp
Xin vui lòng dành một chút thời gian để đọc các hướng dẫn đóng góp của chúng tôi nếu bạn chưa làm như vậy.