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,

          exclude: cssModuleRegex,
          use: getStyleLoaders({
            importLoaders: 1,
            sourceMap: isEnvProduction && shouldUseSourceMap,
          }),

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

import cssStyleClassName from './MyAppStyle.css';

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

import cssStyleClassName from './MyAppStyle.css';
03

import cssStyleClassName from './MyAppStyle.css';
04 là những gì bạn đã xác định trong tệp
import cssStyleClassName from './MyAppStyle.css';
05 của bạn

.styleName{
your properties here...
}


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ước

Npm 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 webpack

Chú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ạt

import 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 (
      
     

TutorialsPoint

     
   ); }; export default App;

Trong ví dụ trên, một tên lớp động được cung cấp cho thẻ.

Đầu ra

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?

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?

Cập nhật vào ngày 18 tháng 3 năm 2021 10:33:47

  • Câu hỏi và câu trả lời liên quan
  • Xây dựng bộ tải hoạt hình trong React.js
  • Làm thế nào để sử dụng Android Loader?
  • Sự khác biệt giữa trình liên kết và trình tải
  • LocalStorage trong Reactjs
  • Regex trong Reactjs
  • Sự hồi hộp trong Reactjs
  • Tải lười trong ReactJS
  • Chế độ nghiêm ngặt trong ReactJS
  • Xác nhận URL trong ReactJS
  • Kết xuất có điều kiện trong ReactJS
  • API bối cảnh trong ReactJS
  • Móc tùy chỉnh trong ReactJS
  • Xử lý hình thức trong ReactJS
  • Tối ưu hóa các ứng dụng ReactJS
  • Reactjs - mảnh vỡ

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.

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?

import cssStyleClassName from './MyAppStyle.css';
06 diễn giải
import cssStyleClassName from './MyAppStyle.css';
07 và
import cssStyleClassName from './MyAppStyle.css';
08 như
import cssStyleClassName from './MyAppStyle.css';
09 và sẽ giải quyết chúng.

Bắt đầu

Cảnh báo

Để sử dụng CSS-Loader, WebPack@5 là bắt buộc

Để bắt đầu, bạn sẽ cần cài đặt

import cssStyleClassName from './MyAppStyle.css';
06:

npm install --save-dev css-loader

hoặc

yarn add -D css-loader

hoặc

pnpm add -D css-loader

Sau đó thêm plugin vào cấu hình

import cssStyleClassName from './MyAppStyle.css';
11 của bạn. Ví dụ:

file.js

import cssStyleClassName from './MyAppStyle.css';
0

webpack.config.js

import cssStyleClassName from './MyAppStyle.css';
1

Và chạy

import cssStyleClassName from './MyAppStyle.css';
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';
    
    13
  • import cssStyleClassName from './MyAppStyle.css';
    
    14
  • import cssStyleClassName from './MyAppStyle.css';
    
    15
  • import cssStyleClassName from './MyAppStyle.css';
    
    16
  • import cssStyleClassName from './MyAppStyle.css';
    
    17
  • import cssStyleClassName from './MyAppStyle.css';
    
    18
  • import cssStyleClassName from './MyAppStyle.css';
    
    19

import cssStyleClassName from './MyAppStyle.css'; 13

Type:

import cssStyleClassName from './MyAppStyle.css';
2

Mặc định:

import cssStyleClassName from './MyAppStyle.css';
21

Cho phép bật/tắt xử lý các hàm CSS

import cssStyleClassName from './MyAppStyle.css';
13 và
import cssStyleClassName from './MyAppStyle.css';
23. Nếu được đặt thành
import cssStyleClassName from './MyAppStyle.css';
24,
import cssStyleClassName from './MyAppStyle.css';
06 sẽ không phân tích bất kỳ đường dẫn nào được chỉ định trong
import cssStyleClassName from './MyAppStyle.css';
13 hoặc
import cssStyleClassName from './MyAppStyle.css';
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:

import cssStyleClassName from './MyAppStyle.css';
3

Để nhập tài sản từ đường dẫn

import cssStyleClassName from './MyAppStyle.css';
28 (bao gồm
import cssStyleClassName from './MyAppStyle.css';
29) và cho
import cssStyleClassName from './MyAppStyle.css';
30, tiền tố nó với
import cssStyleClassName from './MyAppStyle.css';
31:

import cssStyleClassName from './MyAppStyle.css';
4

import cssStyleClassName from './MyAppStyle.css';
32

Bật/tắt

import cssStyleClassName from './MyAppStyle.css';
08 Giải quyết.

webpack.config.js

import cssStyleClassName from './MyAppStyle.css';
5

import cssStyleClassName from './MyAppStyle.css';
34

Cho phép lọc

import cssStyleClassName from './MyAppStyle.css';
08. Tất cả được lọc
import cssStyleClassName from './MyAppStyle.css';
08 sẽ không được giải quyết (để lại trong mã như chúng đã được viết).

webpack.config.js

import cssStyleClassName from './MyAppStyle.css';
6

import cssStyleClassName from './MyAppStyle.css'; 14

Type:

import cssStyleClassName from './MyAppStyle.css';
7

Mặc định:

import cssStyleClassName from './MyAppStyle.css';
21

Cho phép bật/tắt xử lý các hàm CSS

import cssStyleClassName from './MyAppStyle.css';
13 và
import cssStyleClassName from './MyAppStyle.css';
23. Nếu được đặt thành
import cssStyleClassName from './MyAppStyle.css';
24,
import cssStyleClassName from './MyAppStyle.css';
06 sẽ không phân tích bất kỳ đường dẫn nào được chỉ định trong
import cssStyleClassName from './MyAppStyle.css';
13 hoặc
import cssStyleClassName from './MyAppStyle.css';
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:

import cssStyleClassName from './MyAppStyle.css';
8

Để nhập tài sản từ đường dẫn

import cssStyleClassName from './MyAppStyle.css';
28 (bao gồm
import cssStyleClassName from './MyAppStyle.css';
29) và cho
import cssStyleClassName from './MyAppStyle.css';
30, tiền tố nó với
import cssStyleClassName from './MyAppStyle.css';
31:

import cssStyleClassName from './MyAppStyle.css';
9

import cssStyleClassName from './MyAppStyle.css';
32

Bật/tắt

import cssStyleClassName from './MyAppStyle.css';
08 Giải quyết.

webpack.config.js

.styleName{
your properties here...
}
0

import cssStyleClassName from './MyAppStyle.css';
34

import cssStyleClassName from './MyAppStyle.css';
49

Type:

.styleName{
your properties here...
}
1

Cho phép lọc

import cssStyleClassName from './MyAppStyle.css';
08. Tất cả được lọc
import cssStyleClassName from './MyAppStyle.css';
08 sẽ không được giải quyết (để lại trong mã như chúng đã được viết).

import cssStyleClassName from './MyAppStyle.css';
6

webpack.config.js

.styleName{
your properties here...
}
2

import cssStyleClassName from './MyAppStyle.css'; 15

Type:

.styleName{
your properties here...
}
3

Cho phép lọc

import cssStyleClassName from './MyAppStyle.css';
08. Tất cả được lọc
import cssStyleClassName from './MyAppStyle.css';
08 sẽ không được giải quyết (để lại trong mã như chúng đã được viết).

import cssStyleClassName from './MyAppStyle.css';
6

  • Cho phép cho phép/vô hiệu hóa
    import cssStyleClassName from './MyAppStyle.css';
    
    07 Xử lý các quy tắc. Kiểm soát
    import cssStyleClassName from './MyAppStyle.css';
    
    07 Giải quyết. URL tuyệt đối trong
    import cssStyleClassName from './MyAppStyle.css';
    
    07 sẽ được di chuyển trong mã thời gian chạy.
  • Để nhập các kiểu từ đường dẫn
    import cssStyleClassName from './MyAppStyle.css';
    
    28 (bao gồm
    import cssStyleClassName from './MyAppStyle.css';
    
    29) và cho
    import cssStyleClassName from './MyAppStyle.css';
    
    30, tiền tố nó với
    import cssStyleClassName from './MyAppStyle.css';
    
    31:
  • Bật/tắt
    import cssStyleClassName from './MyAppStyle.css';
    
    07 Giải quyết.
  • Mặc định:
    import cssStyleClassName from './MyAppStyle.css';
    
    50
  • Cho phép lọc
    import cssStyleClassName from './MyAppStyle.css';
    
    07. Tất cả được lọc
    import cssStyleClassName from './MyAppStyle.css';
    
    07 sẽ không được giải quyết (để lại trong mã như chúng đã được viết).

Cho phép bật/tắt các mô -đun CSS hoặc ICSS và Cấu hình thiết lập:CSS Modules specification and setup basic behaviour.

import cssStyleClassName from './MyAppStyle.css';
50 - Kích hoạt các mô -đun CSS cho tất cả các tệp khớp với
import cssStyleClassName from './MyAppStyle.css';
56 và
import cssStyleClassName from './MyAppStyle.css';
57 RegEXP.CSS Modules features, it will be useful for developers who use vanilla css or use other technologies.

webpack.config.js

.styleName{
your properties here...
}
4

import cssStyleClassName from './MyAppStyle.css';
67

import cssStyleClassName from './MyAppStyle.css';
68

import cssStyleClassName from './MyAppStyle.css';
21 - Kích hoạt các mô -đun CSS cho tất cả các tệp.

import cssStyleClassName from './MyAppStyle.css';
24 - Vô hiệu hóa các mô -đun CSS cho tất cả các tệp.

import cssStyleClassName from './MyAppStyle.css';
60 - Vô hiệu hóa các mô -đun CSS cho tất cả các tệp và đặt tùy chọn
import cssStyleClassName from './MyAppStyle.css';
61, thêm thông tin bạn có thể đọc ở đây

import cssStyleClassName from './MyAppStyle.css';
34 - Kích hoạt các mô -đun CSS cho tất cả các tệp, nếu tùy chọn
import cssStyleClassName from './MyAppStyle.css';
63 không được chỉ định, nếu không, tùy chọn
import cssStyleClassName from './MyAppStyle.css';
63 sẽ xác định xem liệu đó có phải là mô -đun CSS hay không, có thêm thông tin bạn có thể đọc ở đây

Tùy chọn

import cssStyleClassName from './MyAppStyle.css';
15 cho phép/vô hiệu hóa đặc tả mô -đun CSS và thiết lập hành vi cơ bản.

Sử dụng hiệu suất tăng giá trị

import cssStyleClassName from './MyAppStyle.css';
24 Vì chúng tôi tránh phân tích các tính năng mô -đun CSS, nó sẽ hữu ích cho các nhà phát triển sử dụng vani CSS hoặc sử dụng các công nghệ khác.

.styleName{
your properties here...
}
5
.styleName{
your properties here...
}
6

Sử dụng giá trị

import cssStyleClassName from './MyAppStyle.css';
69 yêu cầu bạn chỉ định các lớp
import cssStyleClassName from './MyAppStyle.css';
70. Sử dụng giá trị
import cssStyleClassName from './MyAppStyle.css';
71 yêu cầu bạn chỉ định các lớp
import cssStyleClassName from './MyAppStyle.css';
72. Sử dụng giá trị
import cssStyleClassName from './MyAppStyle.css';
73 Yêu cầu các bộ chọn phải chứa ít nhất một lớp hoặc ID cục bộ.

Bạn có thể tìm thêm thông tin ở đây.

.styleName{
your properties here...
}
7

Phong cách có thể được phân chia cục bộ để tránh các phong cách phạm vi toàn cầu.

Bạn có thể sử dụng

import cssStyleClassName from './MyAppStyle.css';
79, nhưng điều này không được khuyến khích. Sử dụng các lớp thay vì ID.

import cssStyleClassName from './MyAppStyle.css';
80

Khi khai báo một tên lớp địa phương, bạn có thể soạn một lớp địa phương từ một lớp học địa phương khác.

.styleName{
your properties here...
}
8

Điều này không dẫn đến bất kỳ thay đổi nào đối với chính CSS nhưng xuất nhiều tên lớp.

.styleName{
your properties here...
}
9
Npm run eject
0
import cssStyleClassName from './MyAppStyle.css';
81

Để nhập một tên lớp cục bộ từ một mô -đun khác.

Ghi chú

Chúng tôi thực sự khuyên bạn nên chỉ định tiện ích mở rộng khi nhập tệp, vì có thể nhập một tệp với bất kỳ tiện ích mở rộng nào và nó không được biết trước để sử dụng tệp nào.

Npm run eject
1
Npm run eject
2

Để nhập từ nhiều mô -đun, sử dụng nhiều quy tắc

import cssStyleClassName from './MyAppStyle.css';
82.

Npm run eject
3
import cssStyleClassName from './MyAppStyle.css';
83

Bạn có thể sử dụng

import cssStyleClassName from './MyAppStyle.css';
84 cho các giá trị cụ thể để được sử dụng lại trong toàn bộ tài liệu.

Chúng tôi khuyên bạn nên sử dụng tiền tố

import cssStyleClassName from './MyAppStyle.css';
85 cho các giá trị,
import cssStyleClassName from './MyAppStyle.css';
86 cho các bộ chọn và
import cssStyleClassName from './MyAppStyle.css';
87 cho phương tiện truyền thông tại các quy tắc.

Npm run eject
4

import cssStyleClassName from './MyAppStyle.css';
32

Kích hoạt các tính năng mô -đun CSS.CSS Modules features.

webpack.config.js

.styleName{
your properties here...
}
4

import cssStyleClassName from './MyAppStyle.css';
60

Kích hoạt các tính năng mô -đun CSS và thiết lập

import cssStyleClassName from './MyAppStyle.css';
61.CSS Modules features and setup
import cssStyleClassName from './MyAppStyle.css';
61.

webpack.config.js

Npm run eject
6

import cssStyleClassName from './MyAppStyle.css';
34

Kích hoạt các tính năng mô -đun CSS và các tùy chọn thiết lập cho chúng.CSS Modules features and setup options for them.

webpack.config.js

Npm run eject
7
import cssStyleClassName from './MyAppStyle.css';
92

Type:

Npm run eject
8

Mặc định:

import cssStyleClassName from './MyAppStyle.css';
50

Cho phép tự động kích hoạt các mô -đun CSS/ICSS dựa trên tên tệp khi tùy chọn

import cssStyleClassName from './MyAppStyle.css';
15 là đối tượng.

Những giá trị khả thi:

  • import cssStyleClassName from './MyAppStyle.css';
    
    50 - Kích hoạt các mô -đun CSS cho tất cả các tệp.
  • import cssStyleClassName from './MyAppStyle.css';
    
    21 - Kích hoạt các mô -đun CSS cho tất cả các tệp khớp với
    import cssStyleClassName from './MyAppStyle.css';
    
    56 và
    import cssStyleClassName from './MyAppStyle.css';
    
    57 RegEXP.
  • import cssStyleClassName from './MyAppStyle.css';
    
    24 - Vô hiệu hóa các mô -đun CSS.
  • .styleName{
    your properties here...
    }
    
    00 - Kích hoạt các mô -đun CSS cho tất cả các tệp khớp với regexp.
  • .styleName{
    your properties here...
    }
    
    02 - Kích hoạt các mô -đun CSS cho các tệp dựa trên tên tệp thỏa mãn kiểm tra chức năng bộ lọc của bạn.
import cssStyleClassName from './MyAppStyle.css';
32

Những giá trị khả thi:

  • import cssStyleClassName from './MyAppStyle.css';
    
    50 - Kích hoạt các mô -đun CSS cho tất cả các tệp.
  • import cssStyleClassName from './MyAppStyle.css';
    
    21 - Kích hoạt các mô -đun CSS cho tất cả các tệp khớp với
    import cssStyleClassName from './MyAppStyle.css';
    
    56 và
    import cssStyleClassName from './MyAppStyle.css';
    
    57 RegEXP.

webpack.config.js

Npm run eject
9
.styleName{
your properties here...
}
00
.styleName{
your properties here...
}
00

import cssStyleClassName from './MyAppStyle.css';
24 - Vô hiệu hóa các mô -đun CSS.

webpack.config.js

{
   test: /\.css$/,
   loader: 'style-loader'
}, {
   test: /\.css$/,
   loader: 'css-loader',
   query: {
      modules: true,
      localIdentName: '[name]_[local]__[hash:base64:5]'
   }
}
0
.styleName{
your properties here...
}
02
.styleName{
your properties here...
}
02

.styleName{
your properties here...
}
00 - Kích hoạt các mô -đun CSS cho tất cả các tệp khớp với regexp.

webpack.config.js

{
   test: /\.css$/,
   loader: 'style-loader'
}, {
   test: /\.css$/,
   loader: 'css-loader',
   query: {
      modules: true,
      localIdentName: '[name]_[local]__[hash:base64:5]'
   }
}
1
import cssStyleClassName from './MyAppStyle.css';
61

Type:

{
   test: /\.css$/,
   loader: 'style-loader'
}, {
   test: /\.css$/,
   loader: 'css-loader',
   query: {
      modules: true,
      localIdentName: '[name]_[local]__[hash:base64:5]'
   }
}
2

.styleName{
your properties here...
}
02 - Kích hoạt các mô -đun CSS cho các tệp dựa trên tên tệp thỏa mãn kiểm tra chức năng bộ lọc của bạn.

import cssStyleClassName from './MyAppStyle.css';
21 - Cho phép các mô -đun CSS hoặc định dạng CSS có thể tương tác, đặt tùy chọn
.styleName{
your properties here...
}
05 thành giá trị
import cssStyleClassName from './MyAppStyle.css';
69 cho tất cả các tệp đáp ứng điều kiện
.styleName{
your properties here...
}
07 hoặc đặt tùy chọn
.styleName{
your properties here...
}
05 thành giá trị
.styleName{
your properties here...
}
09 cho tất cả các tệp đáp ứng điều kiện
import cssStyleClassName from './MyAppStyle.css';
57

import cssStyleClassName from './MyAppStyle.css';
24 - Vô hiệu hóa các mô -đun CSS hoặc định dạng CSS có thể tương tác dựa trên tên tệp

Bật các mô -đun CSS cho các tệp dựa trên tên tệp thỏa mãn kiểm tra regex của bạn.

Bật các mô -đun CSS cho các tệp dựa trên tên tệp thỏa mãn kiểm tra chức năng bộ lọc của bạn.

import cssStyleClassName from './MyAppStyle.css';
60

Mặc định:

.styleName{
your properties here...
}
15

webpack.config.js

{
   test: /\.css$/,
   loader: 'style-loader'
}, {
   test: /\.css$/,
   loader: 'css-loader',
   query: {
      modules: true,
      localIdentName: '[name]_[local]__[hash:base64:5]'
   }
}
3
.styleName{
your properties here...
}
02
.styleName{
your properties here...
}
02

Tùy chọn thiết lập

import cssStyleClassName from './MyAppStyle.css';
61. Bạn có thể bỏ qua giá trị khi bạn muốn chế độ
import cssStyleClassName from './MyAppStyle.css';
69.

Kiểm soát mức độ tổng hợp được áp dụng cho các kiểu đầu vào.

webpack.config.js

{
   test: /\.css$/,
   loader: 'style-loader'
}, {
   test: /\.css$/,
   loader: 'css-loader',
   query: {
      modules: true,
      localIdentName: '[name]_[local]__[hash:base64:5]'
   }
}
4
.styleName{
your properties here...
}
39

Type:

import cssStyleClassName from './MyAppStyle.css';
69,
import cssStyleClassName from './MyAppStyle.css';
71 và
import cssStyleClassName from './MyAppStyle.css';
73 Xử lý các giá trị phạm vi
.styleName{
your properties here...
}
21 và
.styleName{
your properties here...
}
22 và
import cssStyleClassName from './MyAppStyle.css';
84.
.styleName{
your properties here...
}
09 sẽ chỉ biên dịch định dạng
.styleName{
your properties here...
}
25 cấp thấp để khai báo các phụ thuộc
.styleName{
your properties here...
}
26 và
.styleName{
your properties here...
}
27 giữa CSS và các ngôn ngữ khác.

ICSS củng cố hỗ trợ mô-đun CSS và cung cấp cú pháp cấp thấp cho các công cụ khác để thực hiện các biến thể mô-đun CSS của riêng chúng.

Các giá trị có thể -

import cssStyleClassName from './MyAppStyle.css';
69,
import cssStyleClassName from './MyAppStyle.css';
71,
import cssStyleClassName from './MyAppStyle.css';
73 và
.styleName{
your properties here...
}
09.

Cho phép đặt các giá trị khác nhau cho tùy chọn

import cssStyleClassName from './MyAppStyle.css';
61 dựa trên tên tệp

  • Giá trị trả về có thể -
    import cssStyleClassName from './MyAppStyle.css';
    
    69,
    import cssStyleClassName from './MyAppStyle.css';
    
    71,
    import cssStyleClassName from './MyAppStyle.css';
    
    73 và
    .styleName{
    your properties here...
    }
    
    09.
  • output.hashDigest,
  • output.hashDigestLength,
  • output.hashFunction,
  • output.hashSalt.

{
   test: /\.css$/,
   loader: 'style-loader'
}, {
   test: /\.css$/,
   loader: 'css-loader',
   query: {
      modules: true,
      localIdentName: '[name]_[local]__[hash:base64:5]'
   }
}
5

  • Mặc định:
    .styleName{
    your properties here...
    }
    
    40
  • Cho phép định cấu hình tên nhận dạng cục bộ được tạo.
  • Để biết thêm thông tin về các tùy chọn, xem:
  • Chuỗi mẫu trang web,
  • Chuỗi mẫu được hỗ trợ:
  • .styleName{
    your properties here...
    }
    
    41 Tên cơ sở của tài nguyên
  • .styleName{
    your properties here...
    }
    
    42 Thư mục Tài nguyên liên quan đến tùy chọn
    .styleName{
    your properties here...
    }
    
    43 hoặc tùy chọn
    .styleName{
    your properties here...
    }
    
    44.
  • .styleName{
    your properties here...
    }
    
    45 Đường dẫn của tài nguyên so với tùy chọn
    .styleName{
    your properties here...
    }
    
    43 hoặc tùy chọn
    .styleName{
    your properties here...
    }
    
    44.

Recommendations:

  • .styleName{
    your properties here...
    }
    
    48 - Tên tệp và đường dẫn.
  • .styleName{
    your properties here...
    }
    
    49 - Mở rộng với hàng đầu
    .styleName{
    your properties here...
    }
    
    50.

.styleName{
your properties here...
}
51 - băm của chuỗi, được tạo dựa trên
.styleName{
your properties here...
}
52,
.styleName{
your properties here...
}
53,
.styleName{
your properties here...
}
54,
.styleName{
your properties here...
}
55,
.styleName{
your properties here...
}
56,
.styleName{
your properties here...
}
57 và
.styleName{
your properties here...
}
58

.styleName{
your properties here...
}
59 - băm có cài đặt băm. all reserved (
.styleName{
your properties here...
}
64) and control filesystem characters (excluding characters in the
.styleName{
your properties here...
}
60 placeholder) will be converted to
.styleName{
your properties here...
}
66.

webpack.config.js

{
   test: /\.css$/,
   loader: 'style-loader'
}, {
   test: /\.css$/,
   loader: 'css-loader',
   query: {
      modules: true,
      localIdentName: '[name]_[local]__[hash:base64:5]'
   }
}
6
.styleName{
your properties here...
}
56

Type:

{
   test: /\.css$/,
   loader: 'style-loader'
}, {
   test: /\.css$/,
   loader: 'css-loader',
   query: {
      modules: true,
      localIdentName: '[name]_[local]__[hash:base64:5]'
   }
}
7

.styleName{
your properties here...
}
60 - Lớp gốc.

Sử dụng

.styleName{
your properties here...
}
61 để phát triển

webpack.config.js

{
   test: /\.css$/,
   loader: 'style-loader'
}, {
   test: /\.css$/,
   loader: 'css-loader',
   query: {
      modules: true,
      localIdentName: '[name]_[local]__[hash:base64:5]'
   }
}
8
.styleName{
your properties here...
}
52

Type:

{
   test: /\.css$/,
   loader: 'style-loader'
}, {
   test: /\.css$/,
   loader: 'css-loader',
   query: {
      modules: true,
      localIdentName: '[name]_[local]__[hash:base64:5]'
   }
}
9

Mặc định:

import cssStyleClassName from './MyAppStyle.css';
50

Cho phép tự động kích hoạt các mô -đun CSS/ICSS dựa trên tên tệp khi tùy chọn

import cssStyleClassName from './MyAppStyle.css';
15 là đối tượng.

webpack.config.js

import styles from './App.css'
0
.styleName{
your properties here...
}
53

Type:

import styles from './App.css'
1

Mặc định:

.styleName{
your properties here...
}
72

Cho phép chỉ định hàm băm để tạo các lớp. Để biết thêm thông tin, xem đầu ra.hashfunction.

webpack.config.js

import styles from './App.css'
2
.styleName{
your properties here...
}
54

Type:

import styles from './App.css'
3

Mặc định:

.styleName{
your properties here...
}
74

Cho phép chỉ định tiêu hóa băm để tạo các lớp. Để biết thêm thông tin, xem đầu ra.hashdigest.

webpack.config.js

import styles from './App.css'
4
.styleName{
your properties here...
}
55

Type:

import styles from './App.css'
5

Mặc định:

.styleName{
your properties here...
}
76

Cho phép chỉ định độ dài tiêu hóa băm để tạo các lớp. Để biết thêm thông tin, xem đầu ra.hashdigestlength.

webpack.config.js

import styles from './App.css'
6
.styleName{
your properties here...
}
77

Loại:

.styleName{
your properties here...
}
78 Mặc định:
.styleName{
your properties here...
}
79

Nên sử dụng tên địa phương khi tính toán băm.

  • .styleName{
    your properties here...
    }
    
    79 Cả đường dẫn tài nguyên và tên cục bộ đều được sử dụng khi băm. Mỗi định danh trong một mô -đun có được tiêu hóa băm riêng của nó, luôn luôn.
  • .styleName{
    your properties here...
    }
    
    81 Phát hiện tự động nếu tên định danh có thể được bỏ qua từ băm. Sử dụng giá trị này để tối ưu hóa đầu ra để nén GZIP hoặc Brotli tốt hơn.

webpack.config.js

import styles from './App.css'
7
.styleName{
your properties here...
}
82

Type:

import styles from './App.css'
8

Mặc định:

import cssStyleClassName from './MyAppStyle.css';
50

webpack.config.js

import styles from './App.css'
9
.styleName{
your properties here...
}
84

Type:

import React from 'react';
import styles from './App.css'
const App = () => {
   return (
      
     

TutorialsPoint

     
   ); }; export default App;
0

Mặc định:

import cssStyleClassName from './MyAppStyle.css';
50

Cho phép chỉ định một hàm để tạo tên lớp. Theo mặc định, chúng tôi sử dụng chức năng tích hợp để tạo một tên lớp. Nếu hàm tùy chỉnh trả về

.styleName{
your properties here...
}
86 hoặc
import cssStyleClassName from './MyAppStyle.css';
50, chúng tôi sẽ dự phòng chức năng tích hợp để tạo tên lớp.

webpack.config.js

import React from 'react';
import styles from './App.css'
const App = () => {
   return (
      
     

TutorialsPoint

     
   ); }; export default App;
1
.styleName{
your properties here...
}
88

Type:

import React from 'react';
import styles from './App.css'
const App = () => {
   return (
      
     

TutorialsPoint

     
   ); }; export default App;
2

Mặc định:

import cssStyleClassName from './MyAppStyle.css';
24

Cho 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

Tê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.

Cảnh báo

Tê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.

styles.css

import React from 'react';
import styles from './App.css'
const App = () => {
   return (
      
     

TutorialsPoint

     
   ); }; export default App;
3

index.js

import React from 'react';
import styles from './App.css'
const App = () => {
   return (
      
     

TutorialsPoint

     
   ); }; export default App;
4

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.

webpack.config.js

import React from 'react';
import styles from './App.css'
const App = () => {
   return (
      
     

TutorialsPoint

     
   ); }; export default App;
5

Bạn có thể bật mô -đun ES có tên xuất khẩu bằng cách sử dụng:

.styleName{
your properties here...
}
94

Type:

import React from 'react';
import styles from './App.css'
const App = () => {
   return (
      
     

TutorialsPoint

     
   ); }; export default App;
6

Mặc định:

import cssStyleClassName from './MyAppStyle.css';
24

Cho 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.

webpack.config.js

import React from 'react';
import styles from './App.css'
const App = () => {
   return (
      
     

TutorialsPoint

     
   ); }; export default App;
7
.styleName{
your properties here...
}
90

Type:

import React from 'react';
import styles from './App.css'
const App = () => {
   return (
      
     

TutorialsPoint

     
   ); }; export default App;
8

Cảnh báo

Tê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.

import cssStyleClassName from './MyAppStyle.css';
60

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.

Cảnh báo

Tê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:Để đặ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.
Npm run eject
07
import cssStyleClassName from './MyAppStyle.css';
60
Cho 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.
Npm run eject
09
import cssStyleClassName from './MyAppStyle.css';
60
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 eject
01
Npm run eject
11
import cssStyleClassName from './MyAppStyle.css';
60
Phong cách xuất khẩu tên lớp.
Npm run eject
13
import cssStyleClassName from './MyAppStyle.css';
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 eject
01).
Npm run eject
15
import cssStyleClassName from './MyAppStyle.css';
60
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.

file.css

import React from 'react';
import styles from './App.css'
const App = () => {
   return (
      
     

TutorialsPoint

     
   ); }; export default App;
9

file.js

npm install --save-dev css-loader
0

webpack.config.js

npm install --save-dev css-loader
1
.styleName{
your properties here...
}
02
.styleName{
your properties here...
}
02

webpack.config.js

npm install --save-dev css-loader
2

webpack.config.js

npm install --save-dev css-loader
3
Npm run eject
18

Type:

npm install --save-dev css-loader
4

Mặc định:

import cssStyleClassName from './MyAppStyle.css';
24

Cho 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 eject
20 you should use this option instead of
Npm run eject
21 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
5

import cssStyleClassName from './MyAppStyle.css'; 17

Type:

npm install --save-dev css-loader
6

Tê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
8

Cho 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 eject
01

webpack.config.js

npm install --save-dev css-loader
9

import cssStyleClassName from './MyAppStyle.css'; 18

Type:

yarn add -D css-loader
0

Phong 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 eject
01).

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
1

import cssStyleClassName from './MyAppStyle.css'; 19

Type:

yarn add -D css-loader
2

Tên

Loại hình

webpack.config.js

yarn add -D css-loader
3

src/index.js

yarn add -D css-loader
4

Npm 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 eject
43 hoặc khác.

webpack.config.js

yarn add -D css-loader
5

src/index.js

yarn add -D css-loader
6

Npm run eject
46

Cảnh báo

Bạn không cần

Npm run eject
43 nữa, vui lòng xóa nó.

Cảnh báo

Bạn không cần

Npm run eject
43 nữa, vui lòng xóa nó.

Tùy chọn

Npm run eject
48 sẽ được bật nếu bạn muốn sử dụng nó với
Npm run eject
49, 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
7

src/index.js

yarn add -D css-loader
8

Npm run eject
51

Cảnh báo

Bạn không cần

Npm run eject
43 nữa, vui lòng xóa nó.

Cảnh báo

Bạn không cần

Npm run eject
43 nữa, vui lòng xóa nó.

Cảnh báo

Bạn không cần

Npm run eject
43 nữa, vui lòng xóa nó.

Cảnh báo

Tùy chọn

Npm run eject
48 sẽ được bật nếu bạn muốn sử dụng nó với
Npm run eject
49, 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 tin

Bản đồ nguồn hiện không được hỗ trợ trong

Npm run eject
56 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
9

src/index.js

pnpm add -D css-loader
0

Thêm thông tin:

pnpm add -D css-loader
1

Sử 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ụng
Npm run eject
43 và
Npm run eject
20 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 eject
63Comment, 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ẻ.

pnpm add -D css-loader
3

webpack.config.js

pnpm add -D css-loader
4

Tài sản

Các

Npm run eject
65 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
5

Thay 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
6

webpack.config.js

pnpm add -D css-loader
7

CSS thuần túy, mô -đun CSS và Postcss

webpack.config.js

pnpm add -D css-loader
8

Khi 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
9

variables.scss

Tách các tính năng ________ 225 và

Npm run eject
67

import cssStyleClassName from './MyAppStyle.css';
00

Component.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 eject
67 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 eject
73. Điều này là để tham khảo vì có các tính năng
Npm run eject
74 đượ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 eject
73 được coi là
Npm run eject
77 trong ví dụ này.

import cssStyleClassName from './MyAppStyle.css';
01

Component.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';
02

Tệp được coi là ________ 374 chỉ.

Tệp được coi là

Npm run eject
67.

Sử dụng cả chức năng

Npm run eject
67 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.

CSS là gì

CSS-Loader là mô-đun NPM sẽ giúp WebPack thu thập CSS từ tất cả các tệp CSS được tham chiếu trong ứng dụng của bạn và đưa nó vào một chuỗi.Và sau đó trình tải kiểu sẽ lấy chuỗi đầu ra được tạo bởi trình tải CSS ở trên và đặt nó bên trong các thẻ trong chỉ mục.Tệp HTML.the npm module that would help webpack to collect CSS from all the css files referenced in your application and put it into a string. And then style-loader would take the output string generated by the above css-loader and put it inside the