默認情況下,Next.js將考慮tsx、ts、jsx或js文件夾下以pages結尾的任何文件,以便構建頁面/API路由和路由。 從自定義頁面擴展文檔: Next.js假設pages目錄中的每個tsx/ts/jsx/js文件都是一個頁面或API路由,可能會暴露易受拒絕服務攻擊的意外路由,或者在構建生產捆綁包時拋出如下錯誤 在pages文件夾(或任何子文件夾)中添加名為index.test.ts的文件會將該文件作為實際頁面包含,并可能在構建期間引發錯誤。 您可以通過使用next.config.js中的pageExtensions屬性修改Next.js期望的擴展來避免這種情況。 module.exports = { // Default value is ['tsx', 'ts', 'jsx', 'js'] pageExtensions: ['page.tsx', 'page.ts', 'page.jsx', 'page.js']} 在這種配置下,只考慮具有上述擴展名的頁面。因此,您可以擁有以下pages文件夾結構,以及co-located測試文件。 pages/├─ api/│ ├─ path.page.ts│ └─ path.test.ts├─ _app.page.ts├─ _document.page.ts├─ index.page.ts└─ index.test.ts path.