问题标签 [yarn-workspaces]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - React-native yarn workspaces/wml 不加载包含已安装包的导入模块
我尝试使用工作区实现 react-native,以在移动和 Web 应用程序之间共享业务逻辑,它在 Web 上运行良好,但它不起作用,甚至无法在 react-native 上加载文件。我最终使用了 wml,但它无法从正在导入 axios 之类的包的共享包中加载文件……尽管这些包已经安装在那里,并且它在 web 上按预期工作。
reactjs - 在故事书 monorepo 中提供静态资产
我有一个使用故事书的 lerna + yarn 工作区 monorepo。
每个包/组件都有自己的 /assets 文件夹,其中包含以下静态图像:
/packages
/component1
/assets
... 静态图片
index.tsx
/component2
/assets
... 静态图片
index.tsx
在官方文档中,它说包含-s
选项,但它仅适用于单个通用资产文件夹,而不适用于每个包:
start-storybook -p 6006 -s assets
如何为每个组件提供故事书中的这些静态资产?
typescript - 如何在 lerna + yarn 工作区 monorepo 中配置 jest + 酶
我正在尝试建立一个 Lerna + yarn 工作区 monorepo。我已经配置好软件包并且构建良好,但是在设置我的测试环境时遇到了很多麻烦。
在项目内部,我使用 webpack、babel 和 typescript。我想用 jest、babel-jest 和酵素进行测试。
每当我尝试运行包含酶玩笑的测试时,我都会收到带有以下详细信息的“玩笑遇到意外令牌”错误:
我的组件:
monorepo/packages/core/src/button/button.tsx
我的测试
monorepo/packages/core/src/button/button.test.tsx
酶设置:
monorepo/packages/core/src/setupEnzyme.ts
笑话配置:
monorepo/packages/core/jest.config.js
通天塔配置:
monorepo/packages/core/babel.config.js
配置:
monorepo/tsgonfig.json
核心包.json:
monorepo/packages/core/package.json
根包.json:
monorepo/monorepo/package.json
我的问题是我的酶测试设置哪里出错了?
typescript - monorepo 中的后端打字稿:如何获取 docker 的依赖项?
我在 yarn-workspaces monorepo 中有一个项目,包含前端、后端和常用包。全部在打字稿中。
构建和运行前端很好;它使用 webpack 创建一个dist/
我可以部署的目录。后端应该更容易,因为它只是 typescript -> node.js。我可以tsc
将生成的目录打包dist
到我的 docker 映像中……除了node_modules
依赖项。我怎样才能获得所需的依赖项dist
?我不想要一个包含所有转译和花哨的东西的完整捆绑器。
有些人使用多阶段 docker 来创建构建(通过yarn install --production
在新的 docker 构建映像中运行,因此它不是 monorepo 的一部分);这对我来说似乎有点矫枉过正,而且以这种方式进行调试似乎更难,因为您无法从开发机器上运行实际的构建。
我想要一个生成工作dist
文件夹的工具,我可以用 docker 或任何其他方法打包该文件夹。有没有一种简单的方法可以做到这一点?
javascript - WebStorm2019.2.1 + Flow - 无法在使用 Yarn 工作区的 monorepo 中解析模块“XYZ”
根据标题,我似乎无法在Yarn Workspaces环境WebStorm 2019.2.1
中使用 Flow 。我的大部分文件导入(但奇怪的是不是全部)都显示了这一点:
如您所见,react
Flow 正确识别了导入,而styled-components
没有正确识别导入。
请注意,运行yarn run flow
不会导致错误。此外,自动完成和Cmd + Click导入工作完美。
值得一提的是,我遵循了 JetBrains 指南,了解如何使用 WebStorm 设置 Flow(此处),以下是我.flowconfig
文件的内容:
reactjs - React & react-native monorepo:node_module 导入问题
我已经建立了一个带有纱线工作区的 monorepo,其中包含一个 react & react-native 应用程序。这是结构:
为了在两个应用程序之间共享逻辑,表示组件被包装在ExampleComponentContainer.js
which importExampleComponent.native.js
或ExampleComponent.js
中,具体取决于捆绑器。我将 redux 和 react-redux 添加到共享包package.json
中,并将它们导入 ExampleComponentContainer.js 和两个应用程序的入口点 App.js。虽然 webpack 从根 node_modules 文件夹导入模块没有问题,但如果我将它们指定为,metro 只会为 react-native 应用程序挑选它们
只是使用
不工作。这是我得到的错误:
这是我的 metro.config.js:
感谢任何提示如何解决这个问题。
git - 使用来自 monorepo 的纱线工作区作为 git 模块
假设我有一个配置为
是否可以将pkgC
fromrepoX
用作 git 子模块repoY
?
约束:
repoX
并且repoY
是私人的pkgABC
是纱线工作区repoX
不应repoY
仅对用户完全可访问pkgC
yarnpkg - 安装纱线时禁止纱线检查版本
我在离线计算机上运行纱线,当我运行时yarn add xxx
很慢,因为它从 yarnpkg.com 读取纱线版本。如何禁止这个。
reactjs - 纱线工作区、反应、monorepo 问题与冲突库版本
我正在尝试使用纱线工作区 monorepo。它由一个用 . 创建的 TestProjectcreate-react-app
和一个用 . 创建的 SharedLib1 组成create-react-library
。TestProject 从 SharedLib1 导入代码。问题是,TestProject 使用 react-scripts 3.3.0,它依赖于 babel-jest ^24.9.0,而 SharedLib1 使用 react-scripts-ts ^2.16.0,它依赖于 babel-jest 22.4.4。在 TestProject 中运行yarn start
时,它会抱怨:
我可以通过SKIP_PREFLIGHT_CHECK=true
在 TestProject 中设置或手动升级 SharedLib1 中的 react-scripts 来禁用该错误,但我想知道是否有更好的方法来处理这个问题。
myMonoRepo 的 Package.json:
myMonoRepo 的 Package.json:
以及测试代码App.tsx:
在 TestProj 的 node_modules 中有一个 babel-jest 24.9.0,在 myMonoRepo 的 node_modules 中有另一个 22.4.4
reactjs - 如何在 react-native 应用程序中使用 react 应用程序的后端、动作和减速器?
我有一个反应应用程序,它的服务器、动作和减速器都在一个目录中。我在另一个目录中也有一个 react-native 应用程序的屏幕。如何连接 react 应用程序的操作和减速器以与 react-native 应用程序一起使用?一般来说,共同开发 react 和 react-native 应用程序的最佳方式是什么?
我的工作区结构如下:
我按照以下步骤操作:
在客户端目录中创建 package.json,内容如下:
通常我创建了以下package.json:
然后在客户端目录中,我运行了 yarn install,并将所有对现在所在目录的导入引用更改为,common
而不是我之前common/dirName
的相对路径。../dirName
但我得到common/dirName
无法解决。我究竟做错了什么?