Bạn có thể sử dụng mô-đun css, nhưng không phải toàn cầu. Kiểu chung chỉ có thể được sử dụng trong _app. js, nhưng bạn có thể nhập css "mô-đun" là một tính năng tích hợp. Ý bạn là vậy đúng không?
// Foo. thành phần js cần bên thứ ba
import '@thirdparty/dist/styles.css'
// Foo. thành phần js với mô-đun css từ bạn
import styles from "./Foo.module.css";
Tôi xin lỗi nếu đây không phải là những gì bạn đang tìm kiếm. Tôi không hoàn toàn chắc chắn những gì bạn đang cần
Khi di chuyển sang Tiếp theo. js 9+, tôi gặp phải sự cố không thể nhập kiểu chung từ bất kỳ tệp nào ngoài JS tiếp theo
import styles from "./Foo.module.css";
1. tôi sẽ nhận được lỗi sauLỗi
Không thể nhập CSS toàn cầu từ các tệp không phải là tệp
import styles from "./Foo.module.css";
2 tùy chỉnh của bạn. Vui lòng di chuyển tất cả các lần nhập CSS chung sang pages/_app. jsSử dụng Global CSS không hoạt động vì kể từ Next. js 9. 2 chúng ta phải nhập CSS toàn cầu từ thành phần
import styles from "./Foo.module.css";
3 tùy chỉnhTại sao xảy ra lỗi
Có một vài điều khiến lỗi này xảy ra trong Tiếp theo. khung js
- Nhập CSS toàn cầu từ một tệp không phải pages/_app. js,
- Sử dụng trình tải CSS/SASS tùy chỉnh thay vì Tiếp theo. js' tích hợp sẵn,
- Kế tiếp. cấu hình. js cấu hình sai
Các phong cách [phong cách. css] được xác định trong các tệp này sẽ áp dụng cho tất cả các trang và thành phần trong ứng dụng của bạn. Vì biểu định kiểu có tính toàn cầu nên bạn chỉ có thể đưa chúng vào trang/ứng dụng. js để tránh chồng chéo giữa các thành phần
Hỗ trợ CSS tích hợp gộp các kiểu chung vào một tệp được rút gọn sẽ tự động được đưa vào các trang
Việc tách các kiểu toàn cục và kiểu cấp thành phần cho phép bạn chia sẻ một tệp CSS chung bên ngoài giữa các thành phần trong khi di chuyển các kiểu được chia sẻ thành một tệp duy nhất, có thể tái sử dụng không được bao gồm trên mỗi trang thành phần
Nhập CSS theo mô-đun cho phép tối ưu hóa nâng cao với tính năng tách kiểu và lưu vào bộ nhớ đệm giúp tăng tốc độ trang
Cách khắc phục lỗi Global CSS
Có một số cách để khắc phục lỗi CSS này trong Next. js
Nhập CSS toàn cầu từ _app. js
Để thêm biểu định kiểu vào Tiếp theo của bạn. js, bao gồm tệp CSS trong
import styles from "./Foo.module.css";
4js
import '../styles.css'
export default function MyApp[{ Component, pageProps }] {
return
}
Các phong cách [phong cách. css] trong ứng dụng của bạn sẽ áp dụng cho tất cả các trang web và thành phần. Vì vậy, điều quan trọng là chỉ đưa chúng vào pages/_app. js để tránh xung đột với các thành phần khác
Ghi chú. Nếu bạn đang sử dụng bản in, hãy bao gồm tệp CSS trong
import styles from "./Foo.module.css";
5Sử dụng trình tải CSS tích hợp
Kể từ phiên bản 9. 2, Tiếp theo. js cho phép bạn nhập các tệp Sass bằng cả. scss và. phần mở rộng tập tin sass
Nếu bạn đang sử dụng các trình tải tùy chỉnh như
import styles from "./Foo.module.css";
6 và // next.config.js
const withCSS = require['@zeit/next-css']
module.exports = withCSS[{/* my next config */}]
0, bạn sẽ cần xóa chúngXóa trình tải tùy chỉnh khỏi phần tiếp theo của bạn. cấu hình. js đảm nhiệm việc nhập biểu định kiểu
Trước
js
// next.config.js
const withCSS = require['@zeit/next-css']
module.exports = withCSS[{/* my next config */}]
Sau đó
js
// next.config.js
module.exports = {/* my next config */}
Trước khi bạn có thể sử dụng Tiếp theo. hỗ trợ Sass tích hợp của js, cài đặt gói npm
// next.config.js
const withCSS = require['@zeit/next-css']
module.exports = withCSS[{/* my next config */}]
1cài đặt npm sass Dưới mui xe, Tiếp theo. js sẽ sử dụng
// next.config.js
const withCSS = require['@zeit/next-css']
module.exports = withCSS[{/* my next config */}]
1 để biên dịch biểu định kiểu của bạn thành tệp css sẽ được đưa vào gói ứng dụngSửa chữa Cấu hình sai tiếp theo
Lỗi CSS toàn cầu có thể xảy ra do cấu hình tiếp theo không đúng. cấu hình. tập tin js
Nếu bạn đang sử dụng
// next.config.js
const withCSS = require['@zeit/next-css']
module.exports = withCSS[{/* my next config */}]
3, hãy đảm bảo rằng nó được định cấu hình với xuất mô-đun phù hợpHãy chắc chắn rằng không có
Lỗi cú pháp Nhiều mô-đun. xuất Bộ xử lý babel tùy chỉnh tác động đến tệp kiểu. Kiểm tra
// next.config.js
const withCSS = require['@zeit/next-css']
module.exports = withCSS[{/* my next config */}]
4 hoặc // next.config.js
const withCSS = require['@zeit/next-css']
module.exports = withCSS[{/* my next config */}]
5 Sử dụng trình tải CSS tùy chỉnh Bạn cũng có thể sử dụng trình tải CSS tùy chỉnh. Để làm điều đó, đảm bảo ghi đè trình tải kiểu mặc định bằng trình tải kiểu của riêng bạn trong phần tiếp theo. cấu hình. tập tin js