公司的不同项目间怎样复用代码? (前端)

小心,代码复用可能会把你带坑里。尤其是题主说的这种公司级别的代码复用。
代码复用的初衷是为了提高效率,节约重复开发的时间。也就是说一份代码代替N份代码,大家统一使用公用的代码。
坑就坑在公用两个字上, 这意味着:
所有人都依赖于这个库所有人要修改的时候,都要保持对旧代码的兼容性, 换句话说,改完了不能让别的人的代码跑不了了。所以,大家都倾向于只添加新功能, 而不愿意重构, 因为重构往往需要改动调用库的代码, 也就是别人的代码。由于没有重构,随着时间的推移,这个公共的库会飞快的腐烂, 远高于普通私有代码的腐烂速度。然而, 每个人都依赖于它。然后, 你们会有大麻烦。
要避免这种情况当然也是可能, 但是对封装,抽象的要求很高, 而且还要有合适公司制度,比如项目组A能改项目组B的代码,这样才能重构。
总的来说, 我的建议还是大家把代码公开就行了,有好东西大家拷贝粘贴(误,fork)就行, 公用, 还是算了吧。

■网友
建立一个私有的npm库,然后把这些公用的代码以npm包的形式发布在私有的npm库上
■网友
【公司的不同项目间怎样复用代码? (前端)】 你可能需要这个东西?tower1229/WidgetsPlayground

■网友
谢邀可公用的部分抽象封装成通用组件,与业务解耦
■网友
谁不希望产品线完全垂直整合,所有模块都可以复用,甚至直接在需求阶段就能使用模块设计出成品?但是绝大部分公司很难做到,做得到成本又控制不住,控制得了成本又承受不住技术的快速迭代。产品还是回归本质吧,先谈需求,再说体验,对于技术人员来说,现阶段能够共享接口就不错了,等到哪天大家可以花个两三年安心做产品的时候,再上设计语言,模块管理和迭代控制,不是么?过拟合和欠拟合都是不好的。
■网友
现在遇到同样的问,希望是封装的组件和公用的函数库代码以npm包的形式发布在私有的npm库上,但是组件中使用的图片也一起抽取,在使用webpack中引用打包的问题。


    推荐阅读