【问题标题】:Import returns undefined when imported from another package从另一个包导入时,导入返回 undefined
【发布时间】:2020-01-28 11:06:42
【问题描述】:

我有一个非常奇怪的错误。想象一下,我有一个包含 yarn 工作区的存储库设置:

  • 主题
  • ui
  • 插件1
  • 插件2

我的theme 包有一个index.js 文件,可以像这样导出组件:

export { default as Markdown } from './components/markdown';
export { default as Image } from './components/image';

降价:

import { Display } from 'ui'
//...

图片:

import { Display } from 'ui'
//...

现在是有趣的部分。 addon-1 使用 import { Markdown } from 'theme' 并且效果很好。 addon-2 使用 import { Image } from 'theme' 并且 Image 已加载,但 Display,或者更好地说是整个 ui,现在未定义。相同的ui 包用于Markdown,它仍然可用。这是同一个包..在同一个 node_modules 文件夹中。为什么?我不明白。此外..当我通过相对路径从同一个包中的另一个组件导入Image 时......它可以工作。没看懂。

有人有想法吗?

我已经尝试过重置所有内容.. 删除 node_modules,删除 yarn.lock,运行 yarn cache clean.. 我什至尝试从 index.js 中删除导出并通过 import Image from 'theme/components/image' 直接导入图像。从默认切换到命名导出..

【问题讨论】:

    标签: javascript webpack yarnpkg


    【解决方案1】:

    好的问题通过反复试验解决。 我的代码是绝对正确的,但是我在导入之前从另一个包中重新导出了东西。我仍然不知道为什么,但是当我不重新导出它们而是直接从另一个包中导入它们时,它正在工作。

    【讨论】:

      猜你喜欢
      • 2016-01-27
      • 2021-01-15
      • 2016-03-18
      • 2016-05-16
      • 2020-02-24
      • 1970-01-01
      • 1970-01-01
      • 2014-04-30
      相关资源
      最近更新 更多