我有一个非常奇怪的错误。想象一下,我有一个包含纱线工作区的存储库设置,其中包含:
我的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'
直接导入Image。从默认切换到命名导出。
答案 0 :(得分:0)
好问题通过反复试验解决。 我的代码是绝对正确的,但是我在导入之前从另一个包中重新导出了内容。我仍然不知道为什么,但是当我不重新导出它们,而是直接从另一个包中导入它们时,就可以了。