nodejs-koa2(mvc模式)前后端分离 前端设计

JavaScript015

nodejs-koa2(mvc模式)前后端分离 前端设计,第1张

前后端分离,前端nodejs运行环境,使用koa2集成负责资源分配与用户交互,实现token验证用户身份,路由控制。等!

自行 百度 解决;

"program": "${workspaceFolder}\app.js"

此处就是是将app.js作为启动文件。${workspaceFolder}代表根目录,vsc启动时会在根目录下找到并加载app.js文件。

参数介绍: name 项目名称、 version 版本号、 description 项目描述、 main 项目启动文件、 scripts 启动快捷设置, author 作者, dependencies 第3方中间件名称及版本。

最重要的

dependencies ”这里添加一些要用到的包,以上是这次要用到的所有的包,版本自己更改。

scripts ”这里是一些nodejs的便捷命令,上线的时候会用到,直接在终端中,package.json同级目录 ,执行‘npm start’ 即 可启动app.js。

别的没啥太大作用瞎写即可。

启动相关配置,封装到config/init.js中,启动文件直接引用即可

3-6-1、init.js项目核心。

异常友好处理方法封装

路由配置

视图渲染

核心集成

3-6-2、config.js项目参数配置。为什么不用json文件 因为json不能加注释

3-6-3、token.js项目token相关方法封装。

执行后项目结构会增加两个文件

新增

src/hello.js。

views/index.html

浏览器访问: http://127.0.0.1:3000/koa/login

输入值获取token

获取的token如图:

先不用带token进行访问: http://127.0.0.1:3000/koa/ hello/jiaobaba,被token拦截,返回401

带上token访问: http://127.0.0.1:3000/koa/ hello/jiaobaba

测试页面渲染,及跳转html页面,直接访问 http://127.0.0.1:3000/koa /views

结束!!!!!!

需要源码联系我

用node.js安装WebSocket库:

npm install ws

然后建立server:

var WebSocketServer = require('ws').Server

  , wss = new WebSocketServer({port: 8080})

wss.on('connection', function(ws) {

    ws.on('message', function(message) {

        console.log('received: %s', message)

    })

    ws.send('something')

})

客户端用HTML5标准:

var ws = new WebSocket("ws://127.0.0.1:8080/")     

   

ws.onopen = function() {    

   alert("Opened")    

   ws.send("I'm client")    

}    

   

ws.onmessage = function (evt) {     

    alert(evt.data)    

}    

   

ws.onclose = function() {    

   alert("Closed")    

}    

   

ws.onerror = function(err) {    

   alert("Error: " + err)    

}

我的理解:

node.js集成了v8解析引擎、服务器等可以说是一个开发环境;相当于 php + apache.选择了node.js后还要选mvc框架(一般都是express)

Django 是一个CMS(网站内容管理系统),与joomla discuz wordPress相似,是一个程序,一般需要 有 php + apache + mysql 这样的开发环境才能运行,Django 的运行环境是Python + apache + mysql(PS: 服务器 数据库 有多种选择,具体看cms支持的运行环境).

所以说node.js 让javascript变成一后台语言了,如果说纠结于选择 javasript还是 Python作为后台语言还说的通, 纠结于 node.js 与 Django 就很奇怪了。

而“基于SAE/BAE/ACE平台”, 题主选用的是哪个平台?

SAE (新浪云计算平台) 并不支持 node.js, 如果你选了它 不用纠结了, 直奔 Django 吧!