- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将一些存储库迁移到一个使用 yarn workspaces 和 Lerna 的 monorepo。这些包大致如下所示:
|-- packages
|-- app
|-- components-1
|-- components-2
app
与 webpack 捆绑在一起。它包括 components-1
和 components-2
作为依赖项,以及 React 15.3.2。
components-1
包含 React 15.6.1 的对等依赖项。所以它有 React 15.6.1 是一个开发依赖。这是从该包中运行 react-styleguidist 和测试所必需的,并且主要是它作为单独的存储库存在的工件,预迁移。
看起来,因为有两个版本的 React,webpack 会捆绑它们,因为它们都在不同的位置成功解析。 React 15.3.2 安装在存储库的根级 node_modules
中,而 React 15.6.1 安装在 components-1/node_modules
中。
正如人们所料,ReactDOM 也会发生同样的情况。
我的解决方案是在应用程序的 webpack 配置中为 react
和 react-dom
定义别名:
resolve: {
alias: {
'react': path.resolve('../../node_modules/react'),
'react-dom': path.resolve('../../node_modules/react-dom'),
},
}
但这对我来说似乎有点 hacky,因为它只能在这个 yarn 工作区设置中工作。
我想知道是否有更好的方法来做到这一点,无论是在应用程序的 webpack 配置中,还是在某种 yarn 工作区配置中。
最佳答案
webpack 根据其文件路径确定模块的唯一性。因此,如果你有两个 react 副本,来自两个单独的节点模块路径,那么是的,webpack 将捆绑两者。但是,如果您说您正在使用 yarn workspaces,这应该意味着您的 monorepo 应该只有一个 node_modules
文件夹。
关于webpack - 在 yarn workspaces 中配置 webpack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56083057/
为什么 Eclipse 在构建 Android 项目时会陷入无限循环,用于构建工作区...和(重新)构建工作区...和(重新)构建工作区... 这是一个已知的错误吗? 摆脱这个循环的正确方法是什么?
当我排队构建时,我遇到了这个问题。构建因错误而死亡 The path C:\[Path]\Sources is already mapped in workspace [Server Name]. s
本文整理了Java中org.brixcms.workspace.Workspace.getId()方法的一些代码示例,展示了Workspace.getId()的具体用法。这些代码示例主要来源于Gith
本文整理了Java中org.brixcms.workspace.Workspace.setAttribute()方法的一些代码示例,展示了Workspace.setAttribute()的具体用法。这
本文整理了Java中org.brixcms.workspace.Workspace.getAttribute()方法的一些代码示例,展示了Workspace.getAttribute()的具体用法。这
我有一个工作区 A,其中在计算机 A 上 checkout 了文件。现在我想继续在计算机 B 上进行开发。我从计算机 A 复制文件,并创建一个新的工作区 B 并映射到复制的文件。 现在 Visual
我正在用 gatsby 创建一个新项目gatsby new YourProjectName2 https://github.com/Vagr9K/gatsby-advanced-starter并得到一
我想切换构建节点并将整个工作区转移到新节点。 node('node1') { ... stash 'my_workspace' } node('node2') { ...
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.getEditorKit()方法的一些代码示例,展示了Workspace.getEdi
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.getViewManager()方法的一些代码示例,展示了Workspace.getV
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.getStatusArea()方法的一些代码示例,展示了Workspace.getSt
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.save()方法的一些代码示例,展示了Workspace.save()的具体用法。这些
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.installLookAndFeelMenu()方法的一些代码示例,展示了Worksp
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.setLayout()方法的一些代码示例,展示了Workspace.setLayout
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.changeFontSize()方法的一些代码示例,展示了Workspace.chan
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.getTitle()方法的一些代码示例,展示了Workspace.getTitle()
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.initialiseExtraMenuItems()方法的一些代码示例,展示了Work
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.add()方法的一些代码示例,展示了Workspace.add()的具体用法。这些代码
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.showResultsView()方法的一些代码示例,展示了Workspace.sho
本文整理了Java中org.protege.editor.core.ui.workspace.Workspace.adjustBorder()方法的一些代码示例,展示了Workspace.adjust
我是一名优秀的程序员,十分优秀!