typescript - No se puede encontrar el módulo 'contentlayer/generated' o sus declaraciones de tipo correspondientes
Estoy usando NextJS 13.3 (directorio app), y estoy tratando de usar contentlayer para servir mis archivos mdx.
tsconfig.json
{
"compilerOptions": {
...
"baseUrl": ".",
"paths": {
"contentlayer/generated": ["./.contentlayer/generated"]
}
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", ".contentlayer/generated"],
}
contentlayer.config.js
import { defineDocumentType, makeSource } from 'contentlayer/source-files';
export const Post = defineDocumentType(() => ({
name: 'Post',
contentType: 'mdx',
filePathPattern: 'posts/*.mdx',
}));
export default makeSource({
contentDirPath: 'content',
documentTypes: [Post],
});
app/blog/[slug]/page.tsx
import { allPosts } from 'contentlayer/generated';
Esta importación me da el siguiente error:
No se puede encontrar el módulo 'contentlayer/generated' ni sus declaraciones de tipo correspondientes
Respuesta #1
este problema de Github podría ayudar: https://github.com/contentlayerdev/contentlayer/issues/415
Además, no olvides configurar los ajustes de next.config.js (o next.config.mjs):
import { withContentlayer } from 'next-contentlayer'
export default withContentlayer({ ... })
En mi caso, el problema se resolvió cuando escribí yarn contentlayer dev (puedes usar cualquier otro gestor de paquetes (npm, npx, ...) además de yarn con seguridad) comando después de seguir el tutorial de inicio.
Respuesta #2
Tras este problema (gracias a @yejinc), estoy agregando el script contentlayer a dev en package.json como una solución temporal local:
"dev": "contentlayer dev & next dev"
Parece que este problema está solucionado en la última versión de contentlayer: https://github.com/contentlayerdev/contentlayer/releases/tag/v0.3.2
