javascript - @mdx-js/mdx importeren in een eenvoudige typescript nodejs-app
In een heel eenvoudig node16 TypeScript 4.8-project, een CLI, wil ik de @mdx-js/mdx-bibliotheek gebruiken, die wordt gedistribueerd als ESM.
Ik ben een beetje verdwaald met alle CommonJS/ESM/ES2020 vocabulaire, sorry....
Mijn tsconfig:
{
"compilerOptions": {
"target": "es2020",
"lib": [
"es2020",
"es2022"
],
"module": "node16",
"rootDir": "./src",
"moduleResolution": "node",
"resolveJsonModule": true,
"allowJs": true,
"checkJs": true,
"declaration": true,
"outDir": "./build",
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitAny": true,
"skipLibCheck": true
},
"files": [....],
}
Bij het uitvoeren van een naïve import: import { compileSync } from '@mdx-js/mdx';
Ik kreeg een fout:
Error [ERR_REQUIRE_ESM]: require() of ES Module node_modules/@mdx-js/mdx/index.js from DirDocFileReader.ts not supported.
Instead change the require of index.js in DirDocFileReader.ts to a dynamic import() which is available in all CommonJS modules.