Jac*_*oed 9 npm webpack lerna yarnpkg yarn-workspaces
我想为我们的前端应用程序使用 monorepo。我们希望将一些 React UI 组件划分到“/packages/ui-components”下的包文件夹中,并将应用程序保留在“/apps/app”文件夹中,然后让应用程序通过导入来使用 ui-components(简化设置) 。我们不打算很快将这些包发布到各个 npm 存储库,而只是让最终的应用程序运行。
我开始有点担心我们如何才能拥有最好的工作流程,由于某种原因,我在我的研究中找不到这个:
应用程序应该使用包中的 src 文件还是将每个包编译到 dist 文件夹并仅导入这些文件?
在工作流程方面,我们希望在不同的包中无缝工作,因此,如果有人在包中进行编辑,我们希望这些更改立即显示在应用程序中。
与使用 dist 输出相比,我看到使用源文件的一些优点和缺点。
直接使用 src 的优点:
使用 dist 的优点:
我确信我遗漏了很多细节;如今,设置良好的开发流程非常复杂,我想让我的同事尽可能简单地使用它。
TL;博士;
mono-repo 中的包应该构建到他们的 dist 中供其他人使用,还是直接从 src 导入更好。
It is a matter of tradeoffs.
If you consume dist of your packages, this means that in order to "apply" changes inside your package you need to build, then consume it in the app.
Some even suggest publishing the package to the registry (public or private), this allows you more loose coupling between the app and the packages.
另一方面,在 src 上工作具有“似乎较少”的优点,但需要您的应用程序设置来支持它,因为它将是编译包代码的地方。
就我个人而言,我使用的是第二种方法,我的应用程序正在使用src,并且配置起来并不是那么简单,因为大多数工具node_modules默认情况下都会忽略代码(例如 babel-loader,它将忽略内部代码的转译)node_modules)。
我的大部分代码都是基于next-transpile-modules源代码。
| 归档时间: |
|
| 查看次数: |
2043 次 |
| 最近记录: |