EggBorn.js 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
EggBorn.js 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
EggBorn.js 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 LGPL
开发语言 JavaScript
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织
地区 国产
投 递 者 zhennann
适用人群 未知
收录时间 2017-10-25

软件简介

EggBorn.js 是什么

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

EggBorn.js是采用Javascript进行全栈开发的最佳实践。 EggBorn.js不重复造轮子,而是采用业界最新的开源技术,进行全栈开发的最佳组合。 EggBorn.js前端采用Vue.js + Framework7 / Vue Router + Webpack,后端采用Koa.js + Egg.js,数据库采用mysql。 EggBorn.js时刻跟踪开源技术的最新成果,并持续优化,使整个框架时刻保持最佳状态。

EggBorn.js 重点解决什么问题:业务模块化

Javascript技术的蓬勃发展,为前后端开发带来了更顺畅的体验,显著提升了开发效率。但仍有网友质疑Javascript能否胜任大型Web应用的开发。大型Web应用的特点是随着业务的增长,需要开发大量的页面组件。面对这种场景,一般有两种解决方案:

1 采用单页面的构建方式,缺点是产生的部署包很大。

2 采用页面异步加载方式,缺点是页面过于零散,需要频繁与后端交互。

EggBorn.js实现了第三种解决方案:

3 页面组件按业务需求归类,进行模块化,并且实现了模块的异步加载机制,从而弥合了前两种解决方案的缺点,完美满足大型Web应用业务持续增长的需求。

EggBorn.js 的技术特点

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

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

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

  • 参数配置灵活:模块中的前后端可以单独进行参数配置

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

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

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

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

有了EggBorn.js,从此可复用的不仅仅是组件,还有业务模块。

快速上手

安装EggBorn.js脚手架

$ npm install -g egg-born

新建项目

$ egg-born project_name
$ cd project_name
$ npm install

EggBorn.js目前提供了2个项目脚手架,分别是

  • front-backend-mysql – 前后端全栈项目模板

  • front – 前端项目模板,后端可采用其他方案

配置mysql连接参数

如果采用了`front-backend-mysql`模板,请配置mysql连接参数(空数据库即可)

编辑src/backend/config/config.default.js文件

  // mysql
  config.mysql = {
    clients: {
      // donot change the name  
      __ebdb: {
        host: '127.0.0.1',
        port: '3306',
        user: 'travis',
        password: '',
        database: 'egg-born',
      },
    },
  };

运行项目

启动后端服务

$ npm run dev:backend

启动前端服务

$ npm run dev:front

EggBorn.js架构图

系统架构

EggBornJS.png

项目文件结构

structure.png

模块文件结构

privatemodule.png

publicmodule.png

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
7 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部