Cấu trúc thông báo
Dòng lỗi đầu tiên.
First error line
TypeError: Cannot read properties of undefined
Ý nghĩa
Dòng lỗi rõ ràng đầu tiên thường là điểm khởi đầu tốt nhất.
Cách đọc
Bỏ qua các bản ghi theo dõi lặp đi lặp lại ban đầu và xác định dòng đầu tiên đặt tên cho sự cố.
Ví dụ
TypeError: Cannot read properties of undefinedVí dụ yêu cầu
Tìm dòng lỗi thực tế đầu tiên trong nhật ký này.
Cấu trúc thông báo
Tên lỗi
Error name
SyntaxError, TypeError, ReferenceError
Ý nghĩa
Tên lỗi cho biết loại vấn đề chung.
Cách đọc
Sử dụng nó để phân tách các vấn đề về cú pháp, thời gian chạy, kiểu dữ liệu, mạng và môi trường.
Ví dụ
SyntaxError, TypeError, ReferenceErrorVí dụ yêu cầu
Phân loại lỗi này theo tên lỗi trước khi đề xuất giải pháp.
Cấu trúc thông báo
Thông báo lỗi
Error message
Module not found: Can't resolve '@/lib/error-message-guide'
Ý nghĩa
Thông báo giải thích những gì công cụ không thể thực hiện.
Cách đọc
Đọc động từ và đối tượng: không thể giải quyết mô-đun, không thể đọc thuộc tính hoặc không thể gắn cổng.
Ví dụ
Module not found: Can't resolve '@/lib/error-message-guide'Ví dụ yêu cầu
Viết lại thông báo lỗi này bằng tiếng Hàn đơn giản và chỉ ra nguyên nhân có khả năng.
Cấu trúc thông báo
Dòng lệnh gọi hàm (stack trace)
Stack trace
tại SiteHeader (src/components/SiteHeader.tsx:42:15)
Ý nghĩa
Một danh sách các lệnh gọi hàm đã dẫn đến lỗi.
Cách đọc
Tìm dòng đầu tiên trỏ đến tệp dự án của bạn, sau đó kiểm tra khu vực đó.
Lưu ý
Dòng trên cùng của ngăn xếp không phải lúc nào cũng là mã của bạn. Một số dòng là các thành phần nội bộ của framework.
Ví dụ
tại SiteHeader (src/components/SiteHeader.tsx:42:15)Ví dụ yêu cầu
Trong dấu vết ngăn xếp này, hãy xác định dòng đầu tiên từ dự án của tôi.
Gợi ý vị trí
Đường dẫn đến tệp.
File path
src/components/LanguageSwitcher.tsx
Ý nghĩa
Đường dẫn cho biết công cụ nghĩ rằng tệp nào liên quan.
Cách đọc
Ưu tiên các đường dẫn nằm trong thư mục src, app, components hoặc lib trước khi kiểm tra các thư mục phụ thuộc.
Ví dụ
src/components/LanguageSwitcher.tsxVí dụ yêu cầu
Liệt kê các tệp dự án được đề cập bởi lỗi này.
Gợi ý vị trí
Dòng và cột
Line and column
src/app/page.tsx:27:12
Ý nghĩa
Dòng và cột thu hẹp vị trí đến một khu vực ký tự cụ thể.
Cách đọc
Kiểm tra dòng được chỉ định cùng với một vài dòng phía trên nó, vì nguyên nhân thực sự có thể bắt đầu sớm hơn.
Ví dụ
src/app/page.tsx:27:12Ví dụ yêu cầu
Mở tệp xung quanh dòng được báo cáo và giải thích những gì có vẻ không đúng.
Gợi ý vị trí
Dòng trong tệp dự án
Project file line
src/lib/git-github.ts:143:7
Ý nghĩa
Một ngăn xếp hoặc dòng xây dựng trỏ đến mã nguồn của bạn thay vì một phụ thuộc.
Cách đọc
Đây thường là dòng cần kiểm tra trước khi đọc các thông báo lỗi chi tiết của framework.
Ví dụ
src/lib/git-github.ts:143:7Ví dụ yêu cầu
Tách biệt các dòng mã của dự án của tôi khỏi các dòng của framework.
Gợi ý vị trí
node_modules line
node_modules line
node_modules/next/dist/server/app-render.js
Ý nghĩa
Một dòng bên trong một gói phụ thuộc hoặc khung được cài đặt.
Cách đọc
Xem xét nó như một ngữ cảnh trừ khi nhật ký cũng chỉ ra vấn đề về phiên bản gói hoặc cấu hình.
Lưu ý
Không chỉnh sửa thư mục node_modules như một bản sửa lỗi thông thường.
Ví dụ
node_modules/next/dist/server/app-render.jsVí dụ yêu cầu
Hãy cho tôi biết dòng `node_modules` này có phải là nguyên nhân hay chỉ là thông tin tham khảo.
Lỗi runtime JavaScript
SyntaxError
SyntaxError
SyntaxError: Unexpected token '}'
Ý nghĩa
JavaScript hoặc TypeScript không thể phân tích cú pháp mã.
Cách đọc
Kiểm tra dấu ngoặc, dấu nháy, dấu phẩy, thẻ JSX và các biểu thức không đầy đủ gần dòng được báo cáo.
Ví dụ
SyntaxError: Unexpected token '}'Ví dụ yêu cầu
Tìm vấn đề về cú pháp xung quanh dòng này.
Lỗi runtime JavaScript
TypeError
TypeError
TypeError: Cannot read properties of undefined
Ý nghĩa
Một giá trị không có hình dạng hoặc hành vi mà mã mong đợi tại thời điểm chạy.
Cách đọc
Kiểm tra xem giá trị có thể là undefined, null, một chuỗi thay vì một đối tượng hoặc một hàm bị thiếu hay không.
Ví dụ
TypeError: Cannot read properties of undefinedVí dụ yêu cầu
Theo dõi nguồn gốc của giá trị không xác định này.
Lỗi runtime JavaScript
ReferenceError
ReferenceError
ReferenceError: copy is not defined
Ý nghĩa
Mã đã cố gắng sử dụng một tên biến hoặc hàm không có trong phạm vi đó.
Cách đọc
Kiểm tra các lệnh nhập, chính tả, phạm vi và xem biến có được khai báo trước khi sử dụng hay không.
Ví dụ
ReferenceError: copy is not definedVí dụ yêu cầu
Tìm lý do tại sao tên này không được định nghĩa.
Lỗi runtime JavaScript
Không thể đọc các thuộc tính của undefined
Cannot read properties of undefined
Không thể đọc các thuộc tính của undefined (đọc 'navLabel')
Ý nghĩa
Mã đã cố gắng truy cập một thuộc tính trên một giá trị không xác định.
Cách đọc
Kiểm tra đối tượng trước dấu chấm, chẳng hạn như copy, locale, params hoặc kết quả tra cứu bản đồ.
Ví dụ
Không thể đọc các thuộc tính của undefined (đọc 'navLabel')Ví dụ yêu cầu
Xác định giá trị nào không xác định trong lỗi này.
Lỗi runtime JavaScript
không phải là một hàm
is not a function
setOpenMenu không phải là một hàm.
Ý nghĩa
Mã đã cố gắng gọi một thứ gì đó với dấu ngoặc đơn, nhưng giá trị không phải là một hàm.
Cách đọc
Kiểm tra xem tên của một thuộc tính (prop), lệnh nhập (import), kết quả hook hoặc phương thức đối tượng có phải là tên mong muốn hay không.
Ví dụ
setOpenMenu không phải là một hàm.Ví dụ yêu cầu
Tìm lý do tại sao giá trị này đang được gọi như một hàm.
Next.js và web
Module not found
Module not found
Module not found: Can't resolve '@/lib/error-message-guide'
Ý nghĩa
Trình đóng gói không thể tìm thấy tệp hoặc gói được chỉ định trong một lệnh nhập.
Cách đọc
Kiểm tra xem tệp có tồn tại hay không, chính tả đường dẫn là chính xác và bí danh trỏ đến thư mục dự kiến.
Ví dụ
Module not found: Can't resolve '@/lib/error-message-guide'Ví dụ yêu cầu
Kiểm tra đường dẫn nhập và đường dẫn tệp thực tế.
Next.js và web
Không tìm thấy đối tượng được xuất.
Export not found
Export errorMessageGuideCopy doesn't exist in target module
Ý nghĩa
Tên import không khớp với bất kỳ export nào từ tệp đích.
Cách đọc
So sánh tên đã nhập với tên const, hàm hoặc kiểu xuất chính xác.
Ví dụ
Export errorMessageGuideCopy doesn't exist in target moduleVí dụ yêu cầu
Tìm tên import hoặc export bị không khớp.
Next.js và web
Hydration failed
Hydration failed
Hydration failed because the server rendered HTML didn't match the client
Ý nghĩa
HTML được tạo trên máy chủ không khớp với những gì React hiển thị trong trình duyệt.
Cách đọc
Kiểm tra các giá trị chỉ dành cho trình duyệt, ngày, giá trị ngẫu nhiên, localStorage và trạng thái chủ đề được sử dụng trong quá trình hiển thị ban đầu.
Ví dụ
Hydration failed because the server rendered HTML didn't match the clientVí dụ yêu cầu
Tìm sự không nhất quán giữa việc render trên máy chủ và máy khách.
Next.js và web
404 Not Found
404 Not Found
GET /ko/reference/error-message-guide 404
Ý nghĩa
Đường dẫn hoặc tệp được yêu cầu không thể tìm thấy.
Cách đọc
Kiểm tra thư mục tuyến đường, generateStaticParams, liên kết href và đường dẫn đầu ra tĩnh đã xuất.
Ví dụ
GET /ko/reference/error-message-guide 404Ví dụ yêu cầu
Kiểm tra lý do tại sao route này trả về mã lỗi 404.
Next.js và web
500 Internal Server Error
500 Internal Server Error
GET /ko 500
Ý nghĩa
Máy chủ đã nhận yêu cầu nhưng gặp lỗi trong quá trình xử lý.
Cách đọc
Xem nhật ký đầu ra từ cùng một yêu cầu, không chỉ mã trạng thái của trình duyệt.
Ví dụ
GET /ko 500Ví dụ yêu cầu
Khớp mã lỗi HTTP 500 này với lỗi đầu ra của terminal đã gây ra nó.
TypeScript và lint
Thuộc tính không tồn tại trong kiểu.
Property does not exist on type
Thuộc tính 'navLabel' không tồn tại trong kiểu 'string'.
Ý nghĩa
TypeScript cho biết rằng kiểu được khai báo của giá trị không bao gồm thuộc tính đó.
Cách đọc
Kiểm tra xem giá trị có kiểu đúng hay không, xem nó có được lập chỉ mục đúng cách hay không và xem hình dạng dữ liệu có thay đổi hay không.
Ví dụ
Thuộc tính 'navLabel' không tồn tại trong kiểu 'string'.Ví dụ yêu cầu
Giải thích tại sao TypeScript nghĩ rằng thuộc tính này không tồn tại.
TypeScript và lint
Loại không thể được gán
Type is not assignable
Loại 'string' không thể được gán cho loại 'Locale'
Ý nghĩa
Một giá trị đang được truyền đến một nơi mà nơi đó mong đợi một kiểu dữ liệu khác.
Cách đọc
So sánh kiểu giá trị thực tế với kiểu dự kiến được đặt tên sau 'to type'.
Ví dụ
Loại 'string' không thể được gán cho loại 'Locale'Ví dụ yêu cầu
Hiển thị kiểu dữ liệu thực tế và kiểu dữ liệu mong đợi trong lỗi này.
TypeScript và lint
Lỗi ESLint
ESLint error
Hàm useEffect của React thiếu một đối tượng phụ thuộc.
Ý nghĩa
Một quy tắc phân tích tĩnh đã tìm thấy mã có thể không an toàn, không nhất quán hoặc vi phạm phong cách dự án.
Cách đọc
Đọc tên quy tắc và dòng của tệp, sau đó quyết định xem danh sách mã hoặc danh sách phụ thuộc có nên thay đổi hay không.
Ví dụ
Hàm useEffect của React thiếu một đối tượng phụ thuộc.Ví dụ yêu cầu
Giải thích lỗi lint này và sửa nó mà không thay đổi hành vi.
Next.js và web
Xây dựng thất bại
Build failed
Quá trình biên dịch không thành công.
Ý nghĩa
Quá trình xây dựng phiên bản sản phẩm không thể hoàn thành.
Cách đọc
Cuộn lên trên phần tóm tắt và tìm lỗi biên dịch, kiểu, kiểm tra kiểu hoặc tuyến đường đầu tiên.
Ví dụ
Quá trình biên dịch không thành công.Ví dụ yêu cầu
Từ nhật ký xây dựng này, hãy xác định lần lỗi nghiêm trọng đầu tiên.
Terminal và hệ thống
EADDRINUSE
EADDRINUSE
Error: listen EADDRINUSE: address already in use :::3001
Ý nghĩa
Máy chủ đã cố gắng sử dụng một cổng mà một quy trình khác đang sử dụng.
Cách đọc
Dừng máy chủ cũ hoặc chạy máy chủ mới trên một cổng khác.
Ví dụ
Error: listen EADDRINUSE: address already in use :::3001Ví dụ yêu cầu
Tìm ứng dụng nào đang sử dụng cổng này và đề xuất bước tiếp theo an toàn nhất.
Terminal và hệ thống
ENOENT
ENOENT
ENOENT: Không tìm thấy tệp hoặc thư mục, mở 'next.config.js'.
Ý nghĩa
Quá trình đã cố gắng mở một tệp hoặc thư mục không tồn tại tại đường dẫn đó.
Cách đọc
Kiểm tra thư mục làm việc hiện tại, chính tả tên tệp, phần mở rộng và các tệp được tạo.
Ví dụ
ENOENT: Không tìm thấy tệp hoặc thư mục, mở 'next.config.js'.Ví dụ yêu cầu
Kiểm tra xem tệp này có bị thiếu hay lệnh đang được chạy từ thư mục không đúng hay không.
Terminal và hệ thống
Quyền bị từ chối
Permission denied
Không được phép thực hiện.
Ý nghĩa
Quá trình không có quyền đọc, ghi hoặc thực thi đối tượng mục tiêu.
Cách đọc
Kiểm tra các quy tắc sandbox, quyền truy cập tệp, thư mục được bảo vệ và xem có cần phê duyệt hay không.
Lưu ý
Không sửa lỗi quyền bằng cách thay đổi quyền một cách rộng rãi trừ khi bạn hiểu mục tiêu.
Ví dụ
Không được phép thực hiện.Ví dụ yêu cầu
Giải thích tại sao lỗi quyền này xảy ra và cần phê duyệt gì.
Terminal và hệ thống
Lệnh không tìm thấy
Command not found
zsh: command not found: next
Ý nghĩa
Shell không thể tìm thấy lệnh thực thi có tên đó.
Cách đọc
Kiểm tra xem các phụ thuộc có được cài đặt hay không, xem có nên sử dụng các lệnh npm hay không và xem biến PATH có được đặt hay không.
Ví dụ
zsh: command not found: nextVí dụ yêu cầu
Cho tôi biết tôi có nên chạy một script npm thay vì lệnh này hay không.
Thứ tự gỡ lỗi
Cảnh báo
Warning
DeprecationWarning: module.register() is deprecated
Ý nghĩa
Một cảnh báo cho biết điều gì đó có thể cần được chú ý, nhưng có thể không ngăn chặn lệnh hiện tại.
Cách đọc
Kiểm tra xem lệnh có hoàn thành thành công hay không trước khi coi cảnh báo là lỗi.
Ví dụ
DeprecationWarning: module.register() is deprecatedVí dụ yêu cầu
Tách biệt các lỗi chặn khỏi các cảnh báo không chặn trong đầu ra này.
Thứ tự gỡ lỗi
DeprecationWarning
DeprecationWarning
DeprecationWarning: module.register() is deprecated
Ý nghĩa
Một tính năng vẫn hoạt động hiện tại nhưng dự kiến sẽ được thay thế hoặc loại bỏ sau này.
Cách đọc
Nếu quá trình xây dựng thành công, hãy ghi lại nó như một bước tiếp theo trừ khi nó chỉ ra mã của bạn hoặc một bản nâng cấp bắt buộc.
Ví dụ
DeprecationWarning: module.register() is deprecatedVí dụ yêu cầu
Hãy cho tôi biết cảnh báo "DeprecationWarning" này có gây ảnh hưởng đến quá trình triển khai hay không.
Thứ tự gỡ lỗi
Thay đổi gần đây.
Recent change
Lỗi bắt đầu sau khi chỉnh sửa SiteHeader.tsx.
Ý nghĩa
Bản sửa đổi liên quan gần đây nhất thường là manh mối có giá trị nhất.
Cách đọc
So sánh vị trí lỗi với các tệp đã được sửa đổi trong tác vụ hiện tại.
Ví dụ
Lỗi bắt đầu sau khi chỉnh sửa SiteHeader.tsx.Ví dụ yêu cầu
So sánh lỗi này với các tệp đã được thay đổi gần đây nhất.
Thứ tự gỡ lỗi
Lặp lại bước
Reproduce step
Mở /ko, nhấp vào menu ngôn ngữ, sau đó nhấp vào menu trang web.
Ý nghĩa
Chuỗi hành động nhỏ nhất khiến lỗi xuất hiện lại.
Cách đọc
Các bước tái tạo rõ ràng giúp xác minh rằng bản sửa lỗi thực sự hoạt động.
Ví dụ
Mở /ko, nhấp vào menu ngôn ngữ, sau đó nhấp vào menu trang web.Ví dụ yêu cầu
Chuyển đổi mô tả này thành các bước tái tạo chính xác.
Thứ tự gỡ lỗi
Nhật ký tối thiểu
Minimal log
Dòng lỗi + đường dẫn tệp + dòng ngăn xếp từ mã nguồn
Ý nghĩa
Một tập hợp ngắn các dòng nhật ký bảo toàn lỗi thực tế và vị trí.
Cách đọc
Giữ lỗi đầu tiên, đường dẫn tệp dự án, lệnh và bản tóm tắt thành công hoặc thất bại cuối cùng.
Ví dụ
Dòng lỗi + đường dẫn tệp + dòng ngăn xếp từ mã nguồnVí dụ yêu cầu
Nén gọn bản ghi (log) dài này thành số lượng dòng tối thiểu cần thiết để gỡ lỗi.