码迷,mamicode.com
首页 > Web开发 > 详细

MVC

时间:2020-01-21 20:07:57      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:pac   png   结合   项目   变量   view   文件   src   code   

我们已经可以用koa处理不同的URL,还可以用Nunjucks渲染模板。现在,是时候把这两者结合起来了!

当用户通过浏览器请求一个URL时,koa将调用某个异步函数处理该URL。在这个异步函数内部,我们用一行代码:

ctx.render(‘home.html‘, { name: ‘Michael‘ });

通过Nunjucks把数据用指定的模板渲染成HTML,然后输出给浏览器,用户就可以看到渲染后的页面了:

技术图片

 

 这就是传说中的MVC:Model-View-Controller,中文名  “模型-视图-控制器”。

 

异步函数是C:Controller,Controller负责业务逻辑,比如检查用户名是否存在,取出用户信息等等

 

包含变量{{ name }}的模板就是V:View,View负责显示逻辑,通过简单地替换一些变量,View最终输出的就是用户看到的HTML。

 

MVC中的Model在哪?Model是用来传给View的,这样View在替换变量的时候,就可以从Model中取出相应的数据

 

上面的例子中,Model就是一个JavaScript对象:

 

{ name: ‘Michael‘ }

 

下面,我们根据原来的 url2-koa 创建工程 view-koa,把 koa2、Nunjucks 整合起来,然后,把原来直接输出字符串的方式,改为 ctx.render(view, model) 的方式。

工程view-koa结构如下:

 

view-koa/
|
+- .vscode/
|  |
|  +- launch.json <-- VSCode 配置文件
|
+- controllers/ <-- Controller
|
+- views/ <-- html模板文件
|
+- static/ <-- 静态资源文件
|
+- controller.js <-- 扫描注册Controller
|
+- app.js <-- 使用koa的js
|
+- package.json <-- 项目描述文件
|
+- node_modules/ <-- npm安装的所有依赖包

 

package.json中,我们将要用到的依赖包有:

"koa": "2.0.0",
"koa-bodyparser": "3.2.0",
"koa-router": "7.0.0",
"nunjucks": "2.4.2",
"mime": "1.3.4",
"mz": "2.4.0"

先用 npm install 安装依赖包。

然后,我们准备编写以下两个Controller

MVC

标签:pac   png   结合   项目   变量   view   文件   src   code   

原文地址:https://www.cnblogs.com/Rivend/p/12222829.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!