- fix(turbopack): Do not create invalid `EcmascriptModulePartAsset` by kdy1 · Pull Request #70016 · vercel/next.js
- What? EcmascriptModulePartAsset is invalid if the splitting is failed. We now carefully create it, only when the original module is splitable. Why? This is part of the tree-shaking PR. How?
Bài viết được dịch bởi AI.
Bài viết được tóm tắt bởi durumis AI
- Trong quá trình gỡ lỗi Turbopack của Next.js, tôi đã thực hiện công việc kiểm tra cách thức áp dụng logic cho từng file do lỗi xảy ra trong trường hợp kiểm thử.
- Kết quả cho thấy nội dung của một file cụ thể là nguyên nhân gây ra vấn đề, và để rút ngắn thời gian gỡ lỗi, tôi đã vô hiệu hóa các trường hợp kiểm thử liên quan.
- Tôi đã ghi lại kinh nghiệm này vì những thay đổi nhỏ cũng có thể dẫn đến lỗi kiểm thử không mong muốn, khiến quá trình gỡ lỗi tốn khá nhiều thời gian.
Đây rõ ràng là một thay đổi nhỏ đến mức có thể nói là hoàn hảo về mặt logic, nhưng các trường hợp thử nghiệm lại bị hỏng. Vấn đề là không thể đoán được nguyên nhân...
Vì vậy, mặc dù cuối tuần là sinh nhật của tôi, nhưng tôi vẫn phải làm việc cật lực. Đó là công việc tìm ra tệp nào không tương thích với logic mới bằng cách áp dụng logic cũ cho một số tệp dựa trên tên tệp.
Tôi đã làm việc cật lực từng cái một theo cách này,
và cuối cùng đã tìm ra trường hợp thử nghiệm gây ra vấn đề. Nhưng nội dung của tệp đó là
'use strict'; if (process.env.NODE_ENV === 'production') { module.exports = require('./cjs/react-jsx-runtime.production.js'); } else { module.exports = require('./cjs/react-jsx-runtime.development.js'); }
toàn bộ. Việc gỡ lỗi có vẻ sẽ mất rất nhiều thời gian nên tôi đã vô hiệu hóa các trường hợp thử nghiệm liên quan.
TURBOPACK=1 pnpm test-dev test/e2e/prerender.test.ts