mdx-js 尝试导入其自身生态系统中不存在的内容

问题描述 投票:0回答:1

我正在开发一个使用 mdx 的项目,并且从一开始就有,但在添加 fumadocs 后,我收到以下与

@mdx-js/mdx
相关的错误。

Package path ./codes.js is not exported from /Users/bigsexy/Desktop/..../micromark-util-symbol (see exports field in /.../micromark-util-symbol/package.json

micromark
包有以下导出:

"exports": {
    "types": "./dev/index.d.ts",
    "development": "./dev/index.js",
    "default": "./index.js"
    }

但是

./code.js
导入是在
micromark-util-sanitize-uri
包中导入的,这是
@mdx-js
的依赖项。

问题是

micromark-util-sanitize-uri
包只有 2 个有意义的文件,根目录中的
index.js
not 不会导入此
import {codes} from 'micromark-util-symbol/codes.js'
,但还包含一个
dev
目录,该目录只有一个
index.js
确实导入此文件
code.js
不存在的导出。

有谁知道为什么它使用这个 dev 目录?我猜这与

process.env.NODE_ENV
变量有关,但这是一个非常受欢迎的软件包,似乎没有任何与此相关的问题,所以我猜我的程序上一定出了问题结束。

javascript node.js typescript mdxjs
1个回答
0
投票

我不确定这是否与我遇到的问题相同,但我在 fumadocs 上也遇到了类似的问题,我的 IDE 报告了导入类似内容的问题

import {defineCollections} from "fumadocs-mdx/config";

显然我要做的就是将

moduleResolution
中的
tsconfig.json
更改为“bundler”...这是我的 tsconfig.json,以防它有帮助:

{
  "compilerOptions": {
    "baseUrl": "./src/",
    "paths": {
      "@/*": ["./*"]
    },
    "target": "ES2017",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "strict": false,
    "noEmit": true,
    "incremental": true,
    "module": "esnext",
    "esModuleInterop": true,
    "moduleResolution": "bundler",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "jsx": "preserve",
    "plugins": [
      {
        "name": "next"
      }
    ]
  },
  "include": ["next-env.d.ts", ".next/types/**/*.ts", "**/*.ts", "**/*.tsx"],
  "exclude": ["node_modules"]
}

© www.soinside.com 2019 - 2024. All rights reserved.