1.2.0 • Published 2 years ago

smart-graph v1.2.0

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

采用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