|
|
1
4
嗯,是的,主要取决于:)。但是,我刚刚用我自己的代码库完成了这个转换,所以希望我能提供一些帮助。我最近使用lerna将RMWC从一个mono repo转换为多个包。 https://jamesmfriedman.github.io/rmwc/ 我的回答将作出以下假设:
具有基本/核心/或实用程序模块https://github.com/jamesmfriedman/rmwc/tree/master/src/base 这是一个包含所有或大部分其他模块将依赖的公共实用程序的模块。一般经验法则是,如果不止一个包需要它,请将其拉到基本模块中,以便对其进行正确的版本控制和共享。这也将防止将来代码的碎片化,因为当您更新基本模块代码时,您将需要使用它重构组件。 是的,把你的SSR码分开
决定包分离的一部分还与频繁和不频繁更改的内容有关。同样,高度依赖于您的问题,但是如果您的服务器或ssr包只是负责渲染和水合组件,那么它们可能不会经常更改所有这些内容。 对此我没有1:1的引用,但是我的项目中最重要的事情可能是根rmwc模块,它重新导入了我的所有其他组件。 https://github.com/jamesmfriedman/rmwc/tree/master/src/rmwc 网页包魔术Lerna包含一个名为“bootstrap”的方法,它神奇地安装所有依赖项,并将一堆目录符号链接在一起。如果您使用的是Typescript或Flow,符号链接可能会导致问题或根本不起作用。对我来说,我创建了一个路径别名作为解决方法。 https://github.com/jamesmfriedman/rmwc/blob/master/config-overrides.js#L38 基本上,只要引用@rmwc(我的npm作用域),我就将webpack重定向到src文件夹。这是我受益于他们都在同一范围内。如果有不同的作用域或包名称,您仍然可以使用以下技巧,只需指定多个别名。 我遇到的其他问题
狩猎快乐,希望这有帮助! |