'NextJS Use 'import' with ESM packages instead
I'm getting this error:
Module not found: ESM packages (remark) need to be imported. Use 'import' to reference the package instead. https://nextjs.org/docs/messages/import-esm-externals
2 | import path from 'path'
3 | //import matter from 'gray-matter'
> 4 | import remark from 'remark'
| ^
5 | import html from 'remark-html'
Even though the module is being imported correctly.
When I change it to a name which doesn't exist I get:
./lib/posts.js:4:28
Module not found: Can't resolve 'remarke'
2 | import path from 'path'
3 | //import matter from 'gray-matter'
> 4 | import remark from 'remarke'
| ^
5 | import html from 'remark-html'
So I know that it is imported.
I also tried adding this to next.config.js:
experimental: {
esmExternals: "loose",
},
But then I get this error:
TypeError: (0 , _remark).default is not a function
This has something to do with the switch to ESM module of the remark library.
Does anyone know what I can do to get rid of this error?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
