编译项目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调试服务器。
开发(前后台模式)
如果你的应用开发过程中有以下需求,则需要使用前后台开发模式。
- 需要(后端)调用本地的其它应用程序
- 需要(后端)访问其它webservice接口
- 需要多前端(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