1.2.0 • Published 2 years ago
smart-graph v1.2.0
采用monorepo管理方式
使用 monorepo 可以把原本一个项目的多个模块拆分成多个 packages,在 packages 之间相互引用,也可以单独发布成包,极大地解决了项目之间代码无法重用的痛点。在项目打包或者编译操作时也可重用一套配置,通吃所有 packages。
用pnpm管理依赖包
- 原因:pnpm 是新一代 node 包管理器。它由 npm/yarn 衍生而来,但却解决了 npm/yarn 内部潜在的 bug,并且极大了地优化了性能,扩展了使用场景。Monorepo 下被人诟病较多的问题,一般是依赖结构问题。常见的两个问题就是 Phantom dependencies(幽灵依赖) 和 NPM doppelgangers(依赖重复安装),pnpm解决了这两个问题。
- 安装: npm install -g pnpm
开发操作
- 初始化项目 pnpm init
添加pnpm-workspace.yaml,内容如下:
packages: - 'packages/**' - docs - play
安装根目录依赖 示例:pnpm install vue -D -w
- 安装某个子目录的依赖 示例:pnpm i vite -r --filter @smart-graph/play
- 在某一个子目录下将另一个子目录作为依赖 示例:pnpm i @smart-graph/canvas -r --filter @smart-graph/utils
项目初始化运行操作
- 安装依赖: pnpm install
- 运行: npm run dev
目录结构
- docs: 文档维护
- packages:
- hooks: 钩子函数,与vue有关联的功能函数
- canvas: 采用canvas方式绘制的所有方法
- svg: 采用svg方式绘制的所有方法
- utils: 工具包,包括函数库等,可多个项目重用
- smart-graph: 项目最终发布包
- play: 项目演示demo