create-react-app Yarn 2 "portal:"本地组件导入编译失败,原因是ModuleScopePlugin,

km0tfn4u  于 2个月前  发布在  React
关注(0)|答案(7)|浏览(49)

描述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
(将命令的输出粘贴在这里。)

重现步骤

(在这里写下您的步骤:)

  1. 在文件夹Foo中创建一个包
  2. 使用yarn dlx create-react-app Bar创建Bar
  3. 将 "Foo": "portal:../Foo" 添加到Bar的package.json中
  4. 构建Bar

预期行为

应该可以正常工作

实际行为

编译错误:"You attempted to import components which falls outside of the project src/ directory"

可复现的演示

https://bitbucket.org/cjmyles/yarn2-link/commits/e02b93771dfded0215bdba456d31aea011367807

6ovsh4lw

6ovsh4lw1#

这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。

ddrv8njm

ddrv8njm3#

在Yarn 2的工作空间中也存在相同的问题。

wnvonmuf

wnvonmuf4#

这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。

stszievb

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 >。

qyuhtwio

qyuhtwio6#

我遇到了同样的问题,最后不得不弹出并移除 ModuleScopePlugin

我知道 CRA 想阻止我执行 import foo from '../../../../bar',但 ModuleScopePlugin 的实现方式意味着你不能使用 yarn、lerna 等的链接功能。我的导入看起来像这样 import foo from 'bar',并使用我的包管理器进行链接,我认为这应该是可以的。

pinkon5k

pinkon5k7#

值得注意的是,如果你使用的是yarn v2版本,你可以使用他们的补丁协议来对react-scripts进行补丁操作,以便不包含ModuleScopePlugin(这样你就不需要弹出)。

相关问题