关于nodejs作为系统中间件的理解

关于nodejs作为系统中间件的理解

在浏览器端和java端使用nodejs作为中间件,node调用java后端发布的接口,同时node可以发布http接口给浏览器端调用
非常好的一篇通解见知乎专栏

转换数据,合并接口

和Java的多个接口通信,给浏览器暴露一个接口。浏览器端同时发起多个http请求时,非常耗时,

跨域问题

前后端分离,本地前端开发调用接口会有跨域问题。用nodejs搭建本地http服务器,并且判断访问接口URL时进行转发,完美解决本地开发时候的跨域问题。

渲染机制

服务端渲染,便于SEO,性能也会好一些(对于企业管理类软件好像没用)

gruntFile.js详解

gruntFile.js详解

koa相关

看到一篇总结的很好的文章 地址

静态文件管理

使用koa-static,进行静态文件管理,包括项目文件,bower管理下的公共js组件

koa-bodyparser

用来解析body的中间件,比方说你通过post来传递表单,json数据,或者上传文件,在koa中是不容易获取的,通过koa-bodyparser解析之后,在koa中this.body就能直接获取到数据

koa-compress

实现数据压缩。

var compress = require('koa-compress')
var koa = require('koa')

var app = koa()
app.use(compress({
  filter: function (content_type) {
    return /text/i.test(content_type)
  },
  threshold: 2048,
  flush: require('zlib').Z_SYNC_FLUSH
}))
koa-session

进行会话管理,一般设置cookie,也可以扩展为redis进行存储

路由分派

koa-router

var app = require('koa')();
    var Router = require('koa-router');
    var myRouter = new Router();
    myRouter.get('/', function *(next) {
      yield this.render('index',{layout:false});
    });
    app.use(myRouter.routes());
    app.listen(3000);

作者:threerocks 链接:http://www.jianshu.com/p/225ff3e8fa18 來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

generator

注:以下代码示例均需要 node.js v0.11.7+ 带 –harmony 参数才能运行。
这是ES6的新feature,function 后面带 * 的叫做generator。
在generator内部可以使用 yield 语句

你可能感兴趣的:(关于nodejs作为系统中间件的理解)