EggBorn.js是一款顶级Javascript全栈开发框架。
EggBorn.js是采用Javascript进行全栈开发的最佳实践。 EggBorn.js不重复造轮子,而是采用业界最新的开源技术,进行全栈开发的最佳组合。 EggBorn.js前端采用Vue.js + Framework7 / Vue Router + Webpack,后端采用Koa.js + Egg.js,数据库采用mysql。 EggBorn.js时刻跟踪开源技术的最新成果,并持续优化,使整个框架时刻保持最佳状态。
Javascript技术的蓬勃发展,为前后端开发带来了更顺畅的体验,显著提升了开发效率。但仍有网友质疑Javascript能否胜任大型Web应用的开发。大型Web应用的特点是随着业务的增长,需要开发大量的页面组件。面对这种场景,一般有两种解决方案:
1 采用单页面的构建方式,缺点是产生的部署包很大。 2 采用页面异步加载方式,缺点是页面过于零散,需要频繁与后端交互。
1 采用单页面的构建方式,缺点是产生的部署包很大。
2 采用页面异步加载方式,缺点是页面过于零散,需要频繁与后端交互。
EggBorn.js实现了第三种解决方案:
3 页面组件按业务需求归类,进行模块化,并且实现了模块的异步加载机制,从而弥合了前两种解决方案的缺点,完美满足大型Web应用业务持续增长的需求。
业务模块化:页面组件按模块组织
加载方式灵活:模块既可异步加载,也可同步加载
模块高度内聚:模块包括前端页面组件和后端业务逻辑
参数配置灵活:模块中的前后端可以单独进行参数配置
国际化:模块中的前后端均支持独立的国际化
模块隔离:模块的页面、数据、逻辑、路由、配置等元素均进行了命名空间隔离处理,避免模块之间的变量污染与冲突
超级易用的事务处理:只需在路由记录上配置一个参数,即可完美实现数据库的事务处理。
渐进式开发:由于模块的高度内聚,可以将业务以模块的形式沉淀,在多个项目中重复使用,既可贡献到npm开源社区,也可部署到公司内部私有npm仓库。
有了EggBorn.js,从此可复用的不仅仅是组件,还有业务模块。
$ npm install -g egg-born
$ egg-born project_name $ cd project_name $ npm install
EggBorn.js目前提供了2个项目脚手架,分别是 front-backend-mysql – 前后端全栈项目模板 front – 前端项目模板,后端可采用其他方案
EggBorn.js目前提供了2个项目脚手架,分别是
front-backend-mysql – 前后端全栈项目模板
front-backend-mysql
front – 前端项目模板,后端可采用其他方案
front
如果采用了front-backend-mysql模板,请配置mysql连接参数(空数据库即可)
编辑src/backend/config/config.default.js文件
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