Cách Next.js tách mã ứng dụng của bạn thành các gói khác nhau và chúng chứa những gì
Khi bạn xem nguồn trang của ứng dụng Next.js, bạn có thể thấy một loạt các tệp JavaScript đang được tải:
Hãy bắt đầu bằng cách đặt mã trong mộtHTML định dạngđể làm cho nó được định dạng tốt hơn, vì vậy con người chúng ta có thể có cơ hội hiểu rõ hơn về nó:
<!DOCTYPE html>
<html>
<head>
<meta charSet=“utf-8” />
<meta name=“viewport” content=“width=device-width,minimum-scale=1,initial-scale=1” />
<meta name=“next-head-count” content=“2” />
<link rel=“preload” href="/_next/static/development/pages/index.js?ts=1572863116051" as=“script” />
<link rel=“preload” href="/_next/static/development/pages/_app.js?ts=1572863116051" as=“script” />
<link rel=“preload” href="/_next/static/runtime/webpack.js?ts=1572863116051" as=“script” />
<link rel=“preload” href="/_next/static/runtime/main.js?ts=1572863116051" as=“script” />
</head>
<body>
<div id="__next">
<div>
<h1>Home page</h1></div>
</div>
<script src="/_next/static/development/dll/dll_01ec57fc9b90d43b98a8.js?ts=1572863116051"></script>
<script id=“NEXT_DATA” type=“application/json”>{“dataManager”:"[]",“props”:{“pageProps”:{}},“page”:"/",“query”:{},“buildId”:“development”,“nextExport”:true,“autoExport”:true}</script>
<script async="" data-next-page="/" src="/_next/static/development/pages/index.js?ts=1572863116051"></script>
<script async="" data-next-page="/_app" src="/_next/static/development/pages/_app.js?ts=1572863116051"></script>
<script src="/_next/static/runtime/webpack.js?ts=1572863116051" async=""></script>
<script src="/_next/static/runtime/main.js?ts=1572863116051" async=""></script>
</body>
</html>
Chúng tôi có 4 tệp JavaScript đang được khai báo để tải trước tronghead
, sử dụngrel="preload" as="script"
:
/_next/static/development/pages/index.js
(96 LỘC)/_next/static/development/pages/_app.js
(5900 LỘC)/_next/static/runtime/webpack.js
(939 LỘC)/_next/static/runtime/main.js
(12k LỘC)
Điều này cho trình duyệt bắt đầu tải các tệp đó càng sớm càng tốt, trước khi quy trình kết xuất bình thường bắt đầu. Nếu không có những thứ đó, các tập lệnh sẽ được tải với độ trễ bổ sung và điều này cải thiện hiệu suất tải trang.
Sau đó, 4 tệp đó được tải ở cuốibody
, cùng với/_next/static/development/dll/dll_01ec57fc9b90d43b98a8.js
(31k LOC) và đoạn mã JSON đặt một số giá trị mặc định cho dữ liệu trang:
<script id="__NEXT_DATA__" type="application/json">
{
"dataManager": "[]",
"props": {
"pageProps": {}
},
"page": "/",
"query": {},
"buildId": "development",
"nextExport": true,
"autoExport": true
}
</script>
4 tệp gói được tải đang triển khai một tính năng được gọi làtách mã. Cácindex.js
tệp cung cấp mã cần thiết choindex
thành phần phục vụ/
và nếu chúng tôi có nhiều trang hơn, chúng tôi sẽ có nhiều gói hơn cho mỗi trang, sau đó sẽ chỉ được tải nếu cần - để cung cấp thời gian tải hiệu quả hơn cho trang.
Tải xuống miễn phí của tôiSổ tay Next.js
Thêm các bài hướng dẫn tiếp theo:
- Bắt đầu với Next.js
- Next.js vs Gatsby vs create-react-app
- Cách cài đặt Next.js
- Liên kết hai trang trong Next.js bằng Liên kết
- Nội dung động trong Next.js với bộ định tuyến
- Cung cấp dữ liệu cho thành phần Next.js bằng getInitialProps
- Tạo kiểu cho các thành phần Next.js bằng CSS
- Tìm nạp trước nội dung trong Next.js
- Sử dụng bộ định tuyến để phát hiện liên kết hoạt động trong Next.js
- Xem nguồn để xác nhận SSR đang hoạt động trong Next.js
- Next.js: điền thẻ head bằng các thẻ tùy chỉnh
- Triển khai ứng dụng Next.js ngay bây giờ
- Next.js: chỉ chạy mã ở phía máy chủ hoặc phía máy khách trong Next.js
- Triển khai ứng dụng Next.js trong phiên bản sản xuất
- Cách phân tích các gói ứng dụng Next.js
- Các mô-đun tải chậm trong Next.js
- Thêm thành phần trình bao bọc vào ứng dụng Next.js của bạn
- Các biểu tượng được Next.js thêm vào ứng dụng của bạn
- Gói ứng dụng Next.js
- Cách sử dụng Bộ định tuyến Next.js
- Cách sử dụng các tuyến API Next.js
- Cách lấy cookie phía máy chủ trong ứng dụng Next.js
- Cách thay đổi cổng ứng dụng Next.js