Closed typistZxd closed 1 year ago
我不推荐打包 lodash expose 出去,expose 的行为是一个全量打包,lodash 太大了,而且每个工具的粒度都比较小,肯定不会全量用到。与其全量打包还不如各个子应用各自安装,在粒度比较小的情况下 treeshaking 机制能起到很好的作用。
假设将
lodash
通过exposes实现共享,那能够满足其他app中import {get} from 'lodash'
的使用,但是import get from 'lodash/get'
这种带路径就不行了,而且不能保证所有第三方依赖包都在入口有暴露
不过,如果需要单独暴露出若干个方法可以使用一个中间文件,然后expose 出去这个中间文件,这样就可以享受treeshaking
由于expose出来的是无状态的模块,但是有些依赖会在模块内部闭包维护一些状态(比如vue-router),运行时会加载两份同样的模块(不同app各自加载一份),这方面有考虑么?
由于expose出来的是无状态的模块,但是有些依赖会在模块内部闭包维护一些状态(比如vue-router),运行时会加载两份同样的模块(不同app各自加载一份),这方面有考虑么?
应该不会把,假设两个微应用都消费基座的 expose,应该是可以复用的吧
假设将
lodash
通过exposes实现共享,那能够满足其他app中import {get} from 'lodash'
的使用,但是import get from 'lodash/get'
这种带路径就不行了,而且不能保证所有第三方依赖包都在入口有暴露