我有一个使用 Tailwind CSS 的 Next.js 项目,并且我在一些页面中使用 MDX。 MDX 文件内有这样的导出行:
export default ({children}) => <div className='prose'>{children}</div>
此行显示此错误:模块不能有多个默认导出.ts(2528)
此外,我使用这样的脚注:
Mübalağa ve ziyade[^ziyade]lik manası...
[^ziyade]: ziyade: fazla, çok
此行显示此错误:
No link definition found: '^ziyade'(link.no-such-reference)
直到今天还没有出现这样的错误。我几个小时以来一直在尝试寻找解决方案,但我找不到。
我尝试按照以下说明更改 .eslintrc.json 设置:使用 eslint-plugin-mdx 修复 Next.js 中的 MDX linting 错误,但没有成功。
我已经更新了所有包和 Next.js 但没有工作。
我正在使用 VS Code MDX 扩展进行语法突出显示,我相信这些错误与此扩展有关。我尝试按照其页面中的描述更改其设置,但也不起作用。
package.json
"dependencies": {
"@mdx-js/loader": "^3.0.0",
"@mdx-js/react": "^3.0.0",
"@next/mdx": "^14.0.2",
"rehype-slug": "^6.0.0",
"remark-gfm": "^4.0.0",
},
下一个.config.mjs
import remarkGfm from 'remark-gfm'
import rehypeSlug from 'rehype-slug';
import nextMDX from '@next/mdx'
const withMDX = nextMDX({
extension: /\.mdx?$/,
options: {
remarkPlugins: [
remarkGfm, // GitHub Flavored Markdown
],
rehypePlugins: [
rehypeSlug, // add IDs to any h1-h6 tag that doesn't have one, using a slug made from its text
],
}
})
/** @type {import('next').NextConfig} */
const nextConfig = {
output: 'export',
trailingSlash: true,
pageExtensions: ['js', 'jsx', 'ts', 'tsx', 'md', 'mdx'],
tsconfig.json
"mdx": {
"plugins": ["remark-gfm"]
},
有办法防止这些错误吗?谢谢。
此错误是由1.5.0版本引起的。我已经删除了该版本并安装了 1.4.0。错误消失了。