编译项目Entity

使用Oak框架的项目,需要将项目中对象结构(Entity)的定义(src/entities目录下),编译成为Oak框架能使用的完整定义(src/oak-app-domain目录下)。当开发人员 修改了相关Entity后,也必须执行下述命令:

npm run make:domain

项目的Entity编写规范参见:entities

开发(前台模式)

在Oak框架的设计中,前后端并无区分。在开发模式下,可以将后端逻辑直接运行在前端环境中,使开发过程更加简洁高效。 前台模式也是推荐的开发模式,可以做到极速的“可见即所得”,编写业务大部分情况下应当使用这种开发模式

运行web端

在项目目录下运行

npm run start:web

运行成功后浏览器会自动打开

http://localhost:3000 即可进行开发调试。推荐使用Chrome浏览器,要注意的是,因为项目只运行在浏览器内部,其数据是和外界隔离的。

运行小程序端

在项目目录下运行

npm run start:mp

运行成功后,用微信开发工具打开wechatMp/dist目录

运行App端

Oak的App开发使用react-native技术栈,按照react-native开发教程配置好环境,连接手机后,在项目目录下运行:

npm run run:android/ios

也可以先运行:

npm run run:bundle

来进行原生安装文件打包,再执行

npm run start:native

启动react-native调试服务器。

开发(前后台模式)

如果你的应用开发过程中有以下需求,则需要使用前后台开发模式。

  1. 需要(后端)调用本地的其它应用程序
  2. 需要(后端)访问其它webservice接口
  3. 需要多前端(web + 小程序)同时调试程序

编译并运行后端

在项目目录下编译整个项目

npm run build

编译成功后,在lib目录下是编译后的js代码。 在项目目录的configuration/mysql.json中编辑本地数据库设置,并执行SQL语句先创建好相应的数据库。

create database xxx default character set utf8mb4;

当前框架要求使用MySQL 8.0以上版本。

再在项目目录下执行:

npm run server:init

初始化数据库。

然后执行:

npm run server:start

运行成功后后端服务器启动,并监听在3001端口上。

运行前端

在项目目录下执行

npm run start:web:server

即以前后端模式运行前端部分代码,此时前端会自动请求localhost:3001端口去访问后端服务器。同理,也可以以前后端模式运行小程序

npm run start:mp:server

要注意的是,如果在前端开发模式和前后端开发模式之间切换的话,需要先清除缓存,以保证切换成功(观察浏览器的Network是否发出请求是确认当前是否成功运行在前后端开发模式下的关键)。清缓存的命令是:

npm run clean:cache