如何构建 React ES6 应用程序以促进公共代码的重用
How to structure a React ES6 application to promote reuse of common code
我们有一个正在使用 babel 转译的 react es6 应用程序。它具有以下文件结构:
- Root
- common
- common-component
- common-component.spec.js
- project1
- .babelrc
- .jest.json
- package.json
- node_modules
- src
- component
- component.js
- component.spec.js
- project2
- .babelrc
- ...
我想构建、测试和 运行 project1。此构建应包括来自 common 和 project1 的源代码和测试,并忽略 project2 的内容。
我目前看到 babel 在目录树上查找 .babelrc 和 node_modules 等。当 运行ning 在 project1 的上下文中时,这显然找不到它们并且出现编译错误发生。
在 project1 目录中发出 npm 运行 测试时,是否可以包含来自 common 的文件?
或者,或者,应该将 common、project1 和 project2 视为独立的项目,它们有自己的 package.json、.babelrc、node_modules 等。如果是这种情况,我将如何 运行 在构建 project1 或 project2 时从 common 测试?
我觉得我在多个项目的代码重用方面遗漏了一些明显的东西。
提前致谢。
以防其他人遇到这个问题。
我们找到了 2 个解决方案来实现概述的场景。
使用 git 子模块将公共代码存储库包含为项目 1 and/or 项目 2.
的子文件夹
为公共代码构建一个 npm 包并将其拉入项目 1 and/or 项目 2。
我们决定采用选项 2,并且 运行 通过我们的构建管道创建一个单独的项目,该项目独立于任何项目测试通用组件。
我们有一个正在使用 babel 转译的 react es6 应用程序。它具有以下文件结构:
- Root
- common
- common-component
- common-component.spec.js
- project1
- .babelrc
- .jest.json
- package.json
- node_modules
- src
- component
- component.js
- component.spec.js
- project2
- .babelrc
- ...
我想构建、测试和 运行 project1。此构建应包括来自 common 和 project1 的源代码和测试,并忽略 project2 的内容。
我目前看到 babel 在目录树上查找 .babelrc 和 node_modules 等。当 运行ning 在 project1 的上下文中时,这显然找不到它们并且出现编译错误发生。
在 project1 目录中发出 npm 运行 测试时,是否可以包含来自 common 的文件?
或者,或者,应该将 common、project1 和 project2 视为独立的项目,它们有自己的 package.json、.babelrc、node_modules 等。如果是这种情况,我将如何 运行 在构建 project1 或 project2 时从 common 测试?
我觉得我在多个项目的代码重用方面遗漏了一些明显的东西。
提前致谢。
以防其他人遇到这个问题。
我们找到了 2 个解决方案来实现概述的场景。
使用 git 子模块将公共代码存储库包含为项目 1 and/or 项目 2.
的子文件夹
为公共代码构建一个 npm 包并将其拉入项目 1 and/or 项目 2。
我们决定采用选项 2,并且 运行 通过我们的构建管道创建一个单独的项目,该项目独立于任何项目测试通用组件。