默认情况下,Next.js 接受以下文件扩展名:.tsx、.ts、.jsx、.js。可以修改此设置以允许其他扩展名,例如 Markdown (.md、.mdx)。
const withMDX = require('@next/mdx')()
/** @type {import('next').NextConfig} */
const nextConfig = {
pageExtensions: ['js', 'jsx', 'ts', 'tsx', 'md', 'mdx'],
}
module.exports = withMDX(nextConfig)您可以扩展 Next.js 使用的默认页面扩展名(.tsx、.ts、.jsx、.js)。在 next.config.js 文件中,添加 pageExtensions 配置:
module.exports = {
pageExtensions: ['mdx', 'md', 'jsx', 'js', 'tsx', 'ts'],
}更改这些值会影响 所有 Next.js 页面,包括以下内容:
proxy.jsinstrumentation.jspages/_document.jspages/_app.jspages/api/例如,如果您将 .ts 页面扩展名重新配置为 .page.ts,您将需要重命名像 proxy.page.ts、instrumentation.page.ts、_app.page.ts 这样的页面。
pages 目录中包含非页面文件您可以将测试文件或组件使用的其他文件与 pages 目录并置。在 next.config.js 文件中,添加 pageExtensions 配置:
module.exports = {
pageExtensions: ['page.tsx', 'page.ts', 'page.jsx', 'page.js'],
}然后,重命名您的页面,使其文件扩展名包含 .page(例如,将 MyPage.tsx 重命名为 MyPage.page.tsx)。确保您重命名 所有 Next.js 页面,包括上述文件。