第一步,先搭建小系统,模块分层+单一出口。接着小步骤走,测试一下。
模块分层是router–>controller–>service–>model–>db(databases)–>model–>service–>controller–>router。数
据传递的过程就是这样子。
配置2个一级目录的js文件,一个用于连接数据库,然后在index.js文件中进行初始化,也就是建立连接了。
index文件中写的是系统的整体架构,包括静态文件加载(koa-static),加载模板引擎(koa-views),把路由配置的文件再加载一下app.use(router.routers()),配置端口app.listen。
第二步,在搭建完整体的小结构之后,去写每一层的逻辑。
router层写路由配置,router.get/router.post。
controller层写数据校验和返回数据,获取query–ctx.query,渲染模板ctx.render。一方面是获取浏览器返回的数据,把它传给service层,另一方面是获取数据库提交上来的数据,交给模板引擎pug。
service层写业务逻辑。
例子1:用户通过浏览器上传了文件、文章、图片,而且我们已经通过controller层拿到了数据,接着我们需要把这些数据存入数据库/本机,利用到了fs模块可读流、可写流,还涉及给文件命名。
例子2:把数据库返回的json数据,进行分页、计算页码等,再把结果返回给到controller层。
model层写数据库的交互语句,利用mysql中间件,写数据库的增删改查、数据提取。