描述bug
问题描述:在给package.json添加"MyExternalComponent": "portal:../MyExternalComponent"
依赖,并使用import Mycomponent from MyExternalComponent
导入组件时,构建失败,原因是ModuleScopePlugin限制 "You attempted to import components which falls outside of the project src/ directory"。
您在用户指南中搜索了哪些术语?
"yarn 2 ModuleScopePlugin"
"portal: ModuleScopePlugin"
环境
yarn2
(将命令的输出粘贴在这里。)
重现步骤
(在这里写下您的步骤:)
- 在文件夹Foo中创建一个包
- 使用yarn dlx create-react-app Bar创建Bar
- 将 "Foo": "portal:../Foo" 添加到Bar的package.json中
- 构建Bar
预期行为
应该可以正常工作
实际行为
编译错误:"You attempted to import components which falls outside of the project src/ directory"
可复现的演示
https://bitbucket.org/cjmyles/yarn2-link/commits/e02b93771dfded0215bdba456d31aea011367807
7条答案
按热度按时间6ovsh4lw1#
这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。
kx5bkwkv2#
仍然未解决
ddrv8njm3#
在Yarn 2的工作空间中也存在相同的问题。
wnvonmuf4#
这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。
stszievb5#
Up Le dim. 13 sept. 2020 à 20:29, stale[bot] notifications@github.com a écrit :...
这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有进一步的活动发生,它将在5天内被关闭。 — 您收到此邮件是因为您是该线程的作者。请直接回复此邮件,查看GitHub上的<#9226 (comment)>或取消订阅< https://github.com/notifications/unsubscribe-auth/AAAVY6EDJPNDTYONF2TIJ3TSFUFO5ANCNFSM4OJGQVAQ >。
qyuhtwio6#
我遇到了同样的问题,最后不得不弹出并移除
ModuleScopePlugin
。我知道 CRA 想阻止我执行
import foo from '../../../../bar'
,但ModuleScopePlugin
的实现方式意味着你不能使用 yarn、lerna 等的链接功能。我的导入看起来像这样import foo from 'bar'
,并使用我的包管理器进行链接,我认为这应该是可以的。pinkon5k7#
值得注意的是,如果你使用的是yarn v2版本,你可以使用他们的补丁协议来对
react-scripts
进行补丁操作,以便不包含ModuleScopePlugin
(这样你就不需要弹出)。