资讯专栏INFORMATION COLUMN

Cabloy.js:基于EggBorn.js开发的一款顶级Javascript全栈业务开发框架

tomlingtm / 656人阅读

摘要:文档官网文档演示是什么是一款顶级全栈开发框架。不重复造轮子,而是采用业界最新的开源技术,进行全栈开发的最佳组合。渐进式开发由于模块的高度内聚,可以将业务以模块的形式沉淀,在多个项目中重复使用,既可贡献到开源社区,也可部署到公司内部私有仓库。

文档

官网 && 文档

演示

PC:https://admin.cabloy.com

Mobile:

EggBorn.js是什么

EggBorn.js是一款顶级Javascript全栈开发框架。前端采用Vue.js + Framework7 + Webpack,后端采用Koa.js + Egg.js,数据库采用mysql。
EggBorn.js在纵向上,将前端和后端打通,形成一个有机的整体,避免前端和后端各自为政的状况;
EggBorn.js在横向上,提炼出“业务模块化”的代码组织模式,通过不同的模块组合实现业务开发,也为大型Web应用不断增长的业务需求提供有力的基础架构。

再谈Cabloy.js

EggBorn.js只是一个基础的全栈开发框架,如果要进行业务开发,还需要考虑许多与业务相关的支撑特性,如:用户管理、角色管理、权限管理、菜单管理、参数设置管理、表单验证、登录机制,等等。特别是在前后端分离的场景下,对权限管理的要求就提升到一个更高的水平。
Cabloy.js在EggBorn.js的基础上,通过“业务模块”的方式,实现一系列支持特性,并将这些特性进行有机的组合,形成完整而灵活的上层生态架构,从而支持具体的业务开发进程。

Cabloy.js架构图

先决条件
凡是可以用 JavaScript 来写的应用,最终都会用 JavaScript 来写。 ——Atwood定律

相信,Javascript的深度探索者都会被这句名言激发,共同努力,为Javascript生态添砖加瓦,构建更繁荣的应用生态。
Cabloy.js正是对这一名言的探索之作。Cabloy.js不重复造轮子,而是采用业界最新的开源技术,进行全栈开发的最佳组合。因此,也深度建议您在继续后面的阅读之前,最好能对以下框架有所了解和认知。

前端

Vue.js

Framework7

Webpack

后端

koa.js

Egg.js

EggBorn.js

Cabloy名字的由来

Cabloy来自蓝精灵的魔法咒语,拼对了Cabloy这个单词就会有神奇的效果。同样,Cabloy.js是有关化学的魔法,基于原子的组合与生化反应,您将实现您想要的任何东西。

Cabloy特性

统一的原子数据管理

统一的用户角色权限管理

对多种运行环境的精细支持

支持多域名多实例运行

灵活的测试驱动开发

内置众多核心模块,提供大量核心特性

有了Cabloy.js,您就可以快速开发各类业务应用。
EggBorn特性

前后端分离:前后端分离开发,深度解耦

业务模块化:页面组件按模块组织

加载方式灵活:模块既可异步加载,也可同步加载

模块高度内聚:模块包括前端页面组件和后端业务逻辑

参数配置灵活:模块中的前后端可以多带带进行参数配置

国际化:模块中的前后端均支持独立的国际化

模块隔离:模块的页面、数据、逻辑、路由、配置等元素均进行了命名空间隔离处理,避免模块之间的变量污染与冲突

超级易用的事务处理:只需在路由记录上配置一个参数,即可完美实现数据库的事务处理。

渐进式开发:由于模块的高度内聚,可以将业务以模块的形式沉淀,在多个项目中重复使用,既可贡献到npm开源社区,也可部署到公司内部私有npm仓库。

有了EggBorn.js,从此可复用的不仅仅是组件,还有业务模块。
快速开始 安装
$ npm install -g egg-born
新建项目
$ egg-born cabloy-demo --type=cabloy
$ cd cabloy-demo
$ npm i
配置MySQL

src/backend/config/config.unittest.js

  // mysql
  config.mysql = {
    clients: {
      // donnot change the name
      __ebdb: {
        host: "127.0.0.1",
        port: "3306",
        user: "root",
        password: "",
        database: "sys",
      },
    },
  };

src/backend/config/config.local.js

  // mysql
  config.mysql = {
    clients: {
      // donnot change the name
      __ebdb: {
        host: "127.0.0.1",
        port: "3306",
        user: "root",
        password: "",
        database: "sys",
      },
    },
  };

src/backend/config/config.prod.js

  // mysql
  config.mysql = {
    clients: {
      // donnot change the name
      __ebdb: {
        host: "127.0.0.1",
        port: "3306",
        user: "root", // "travis",
        password: "",
        database: "{{name}}",
      },
    },
  };
测试
$ npm run test:backend
运行

启动后端服务

$ npm run dev:backend

启动前端服务

$ npm run dev:front
GitHub贡献
有任何疑问,欢迎提交 issue!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/96207.html

相关文章

  • EggBorn.js一款顶级Javascript全栈开发框架

    摘要:是什么是一款顶级全栈开发框架。渐进式开发由于模块的高度内聚,可以将业务以模块的形式沉淀,在多个项目中重复使用,既可贡献到开源社区,也可部署到公司内部私有仓库。模块发布当项目中的模块代码稳定后,可以将模块公开发布,贡献到开源社区。 EggBorn.js是什么 EggBorn.js是一款顶级Javascript全栈开发框架。 EggBorn.js是采用Javascript进行全栈开发的最佳...

    dayday_up 评论0 收藏0
  • 全栈开发自学路线

    摘要:前言这里筑梦师是一名正在努力学习的开发工程师目前致力于全栈方向的学习希望可以和大家一起交流技术共同进步用简书记录下自己的学习历程个人学习方法分享本文目录更新说明目录学习方法学习态度全栈开发学习路线很长知识拓展很长在这里收取很多人的建议以后决 前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程...

    galaxy_robot 评论0 收藏0
  • 全栈开发自学路线

    摘要:前言这里筑梦师是一名正在努力学习的开发工程师目前致力于全栈方向的学习希望可以和大家一起交流技术共同进步用简书记录下自己的学习历程个人学习方法分享本文目录更新说明目录学习方法学习态度全栈开发学习路线很长知识拓展很长在这里收取很多人的建议以后决 前言 这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程...

    Scorpion 评论0 收藏0

发表评论

0条评论

tomlingtm

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<