关于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 语句