快速开始

2018-11-16 08:17:04

安装EggBorn脚手架

$ npm i -g egg-born

新建项目

创建一个项目cabloy-demo,然后安装所有依赖项

$ egg-born cabloy-demo --type=cabloy
$ cd cabloy-demo
$ npm i
  • type:指定cabloy项目模版

配置MySQL

Egg提供了三个运行环境,EggBorn针对每个运行环境实现了不同的数据库访问策略

1、测试环境:每次启动服务时,总是删除旧的测试数据库,然后创建一个新的测试数据库

2、开发环境:每次启动服务时,总是查找可用的测试数据库,如果没有找到就创建一个新的

3、生产环境:需要手工创建数据库,并在config.prod.js中指定

通过这种数据库访问策略,在开发阶段可以非常便利的调试数据。比如,开发阶段会经常的变更数据库设计,这时,只需要运行一遍单元测试就可以生效了。基本操作如下:

# 运行单元测试
$ npm run test:backend
# 启动本地开发服务
$ npm run dev:backend

因此,需要单独设置三个运行环境的数据库连接配置信息

测试环境

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', // donnot change the name
      },
    },
  };
  • __ebdb:这是系统内置的MySQL节点名,不允许变更
  • 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', // recommended
      },
    },
  };
  • 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',
        password: '',
        database: '{{name}}',
      },
    },
  };
  • database:此数据库需要手工创建

测试

$ npm run test:backend

Cabloy推荐测试驱动的开发模式。通过测试驱动可以锁定开发的成果,当有代码变更时,可以尽早的发现问题,从而解决问题

此外,开发阶段会经常的变更数据库设计,这时,只需要运行一遍单元测试就可以生效了

运行

启动后端服务

$ npm run dev:backend

启动前端服务

$ npm run dev:front

进入系统



评论: