Các mô-đun JS CSS tiếp theo không hoạt động

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 sau

Lỗ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. js

Sử 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ỉnh

Tạ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";
4

js

import '../styles.css'

export default function MyApp({ Component, pageProps }) {
  return <Component {...pageProps} />
}

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";
5

Sử 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úng

Xó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 */})
1

cà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ụng

Sử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ợp

Hã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

Làm cách nào để liên kết CSS trong nextjs?

Thêm biểu định kiểu chung . js import the CSS file within pages/_app.js . Tạo một trang/_ứng dụng. js nếu chưa có. Sau đó, nhập các kiểu. tập tin css. Những phong cách này ( phong cách. css ) sẽ áp dụng cho tất cả các trang và thành phần trong ứng dụng của bạn.

Khung CSS nào là tốt nhất cho JS tiếp theo?

Bulma là khung CSS dựa trên thành phần tốt nhất, nhưng tôi sẽ không sử dụng nó cho các thiết kế cụ thể hoặc để tạo bộ giao diện người dùng hoặc hệ thống thiết kế của riêng mình. Đối với tôi, Tailwind là khung CSS ưu tiên nguyên tử/tiện ích tốt nhất nếu bạn cần tạo bộ giao diện người dùng, hệ thống thiết kế hoặc các trang dành riêng cho thiết kế của riêng mình.

CSS toàn cầu ở đâu trong JS tiếp theo?

CSS toàn cầu phải có trong \ tùy chỉnh của bạn . js đã được thực hiện. Không thể sử dụng CSS toàn cầu trong các tệp không phải

Làm cách nào để đưa tệp CSS vào tệp JavaScript?

JavaScript cũng có thể được sử dụng để tải tệp CSS trong tài liệu HTML. .
sử dụng tài liệu. phương thức getElementsByTagName() để lấy phần tử đầu HTML
Tạo phần tử liên kết mới bằng phương thức createElement('link')
Khởi tạo các thuộc tính của phần tử liên kết
Nối phần tử liên kết vào phần đầu