monorepo里面公共模块为什么要做成npm包,不能直接通过路径去引入吗?

demo地址: https://github.com/dennis-jiang/mono-repo-demo
看网上的教程都是公共模块做成npm包,lerna去管理包依赖,为什么不能直接去引入一个文件呢

//packages/customer-site/src/App.js
import {WaterForm} from '@mono-repo-demo/common';
// use WaterForm

//packages/customer-site/src/package.json
"dependencies": {
    "@mono-repo-demo/common": "^0.2.0"
  },

这个不能直接这么用吗。不做npm包也就不存在lerna去管理了

// import {WaterForm} from '@mono-repo-demo/common';
import {WaterForm} from '../../common/index';

个人觉得这种也应该算是monorepo架构吧
只有根package.json ,通过路径复用根公共模块 ,所有第三方模块装根上

- nodemodule
- package
    -projecta
    -projectb
    -projectc
    -projectd
-common
    -ui
    -uitil
    -config
-package.json
     
阅读 1.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏