项目模式与源码位置

由于创建CabloyJS项目有两种模式:项目模式Lerna源码模式。那么在这里,我们就分别针对这两种模式说明如何查看CabloyJS的核心源码

1. 项目模式

  • 适用场景:如果是开发正式的业务系统,建议用项目方式

  • 参考链接:快速开始

  • 目录结构:CabloyJS核心模块和源码在node_modules

  • 优点:

    • 项目源码目录仅包含自定义的业务模块,目录结构清晰
    • CabloyJS核心模块的前端和后端代码都进行了编译打包。因此,执行npm脚本速度有显著提升,比如:启动前端开发服务、执行项目编译打包、启动后端服务,等等

如果想查看某个核心模块的源码,可有两种方式:

  1. 可以直接在node_modules中查找

  2. 可以通过以下指令把模块代码安装至项目目录:

    1. 套件位置:{project}/src/suite-vendor

    2. 模块位置:{project}/src/module-vendor

  1. 1# 安装基础模块:a-base-sync
  2. 2$ npm run cli :store:sync a-base-sync
  3. 3# 安装CMS模块:a-cms
  4. 4$ npm run cli :store:sync a-cms
  5. 5# 安装NodeJS工作流引擎模块:a-flow
  6. 6$ npm run cli :store:sync a-flow
  • 若要查看更多核心模块,请转至:Cabloy商店

    • 核心模块是免费的,但仍需要到Cabloy商店生成免费购买记录,从而可以在命令行进行下载和安装
  • 若要了解cli命令的有关信息,请转至:Cli终端

最佳实践:如何对源码进行调试

模块编译与发布章节中,我们知道了全局模块优先加载dist目录,而dist目录都是编译之后的前端代码和后端代码,那么我们如何进行源码调试呢?

  • 答案很简单:就是把dist目录改名。这样系统找不到dist目录,就会尝试加载源码目录

  • 以此类推:node_modulessrc/module-vendorsrc/suite-vendor中的全局模块都可以按此方式进行

2. Lerna源码模式

由于CabloyJS的所有核心模块源码都采用lerna进行统一管理,因此,也可以直接克隆CabloyJS的源码仓库

  • 适用场景:如果是学习和研究CabloyJS,或者贡献代码,建议用Lerna源码方式

  • 参考链接:快速开始(源码模式)

  • 目录结构:CabloyJS核心模块和源码在项目根目录的src/module-system

  • 优点:

    • 便于随时跟进并查阅CabloyJS核心模块的源码
  • 缺点:

    • 由于是CabloyJS最新提交的代码,存在不稳定的隐患
    • 因为所有核心模块的源码都需要进行编译,所以执行npm脚本速度比项目方式慢(当然,由于进行了特别的优化处理,所以并不是很慢),比如:启动前端开发服务、执行项目编译打包、启动后端服务,等等