众所周知,Vue项目中大部分组件要么放在项目源码中,要么以npm依赖的形式存在。除此之外很少有别的形式了。这会自然产生一个问题,组件的修改需要对整个项目进行重新打包发布。
有时我在想,可以创建一个组件治理平台,用来提供组件,而别的业务系统在运行时从组件治理平台获取组件。这种想法跟webpack中的federation module很像,只是把每个系统都能暴露组件变成了只有一个中心的组件平台来暴露组件。
我对webpack也只是会用的程度,说来也是惭愧的。我就尝试在vue-cli 3创建出来的vue项目上进行修改,用它来打包出一个组件,然后把打包出来的组件以静态资源的形式放在nginx中或http-server里。然后再别的页面加载则个组件。我进行了POC,通过了。我也不知道自己的思路是不是对,反正能督促自己思考也是好的。
如果有余力的话我还是会进一步研究的,希望自己能有所收获。这里我会把我的示例代码放上来,有兴趣的小伙伴可以看一下,也诚招合作伙伴,一起讨论研究:)
我主要修改了:
- main.js
- webpack.prod.conf.js
如果对你有帮助,请点赞哦:)