博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中间件
阅读量:5753 次
发布时间:2019-06-18

本文共 1484 字,大约阅读时间需要 4 分钟。

1.一般本地开发的话,小项目,或者是个人开发建议使用tomcat

2.linux系统建议使用jettyapache hpptd
3.大型的项目就用JBOSSwebloigc

4.大项目或者商业项目一般采用:weblgoic/webshere,其他的还有jbossglasshfish

5.一些示例项目或者小项目常采用jetty

6.tomcat , jboss, weblogic, websphere 一般项目tomcat就可以了的运行平台。

什么是javascript中间件呢?函数middle就是用来构建中间件的,我用例子说明下

下面我定义了一个函数use,在use第一个参数传入一个回调函数,如下

function use(func){

    func("参数1","参数2")

}

 

//正常的传入回调函数的用法。

var func=function(req,res){

 

    console.log(req)//=>参数1

    console.log(res)//=>参数2}

use(func)

 

 

//使用中间件构建,如下,middle函数在下面有定义,往下看var func=middle(function(req,res,next){

  console.log("这里是新添加中间部分")

    console.log(req)//=>参数1

    console.log(res)//=>参数2

    next() ;//next指向下一个函数 

},function(req,res,next){

  console.log("这里是新添加中间部分")

    console.log(req)//=>参数1

    console.log(res)//=>参数2

    next() ;//next指向下一个函数 

},function(req,res,next){

 //这是原始的函数

    console.log(req)//=>参数1

    console.log(res)//=>参数2 

})

use(func)

 

中间件的用法就这么简单,但是功能很强大,想想你可以在nodejs中监听网页链接的时候,可以把用户验证、查找数据、显示数据都分离出来,通过中间件组合成一个最终你想要的逻辑函数,想想就觉得痛快。

中间件的源码如下,代码很少,你也可以去github里面下载源码,https://github.com/caoke90/middle/blob/master/middle.js

 

var middle=function(){

    var next=function(func1,func2){

        return function(){

            var arg=Array.prototype.slice.call(arguments)

            var arr=[].concat(arg)

            arg.push(function(){

                if(typeof func2=="function"){

                    func2.apply(this,arr)

                }

            })

            return func1.apply(this,arg);

        }

    }

    var arg=Array.prototype.slice.call(arguments)

    var func=arg[arg.length-1]

    for(var i=arg.length-2;i>=0;i--){

        func=next(arg[i],func)

    }

    return func

}

转载于:https://www.cnblogs.com/yanxiaowu-xiexie/p/10263220.html

你可能感兴趣的文章
Spring之旅第八站:Spring MVC Spittr舞台的搭建、基本的控制器、请求的输入、表单验证、测试(重点)...
查看>>
数据结构与算法——常用排序算法及其Java实现
查看>>
你所不知的Webpack-多种配置方法
查看>>
webpack+typescript+threejs+vscode开发
查看>>
python读excel写入mysql小工具
查看>>
如何学习区块链
查看>>
搜索问题的办法
查看>>
微信分销系统商城营销5大重点
查看>>
求职准备 - 收藏集 - 掘金
查看>>
Linux-Centos启动流程
查看>>
php 设计模式
查看>>
后端技术精选 - 收藏集 - 掘金
查看>>
Laravel 服务容器
查看>>
mac安装kubernetes并运行echoserver
查看>>
多页架构的前后端分离方案(webpack+express)
查看>>
算法(第4版) Chapter 1
查看>>
前端技术选型的遗憾和经验教训
查看>>
“亲切照料”下的领域驱动设计
查看>>
SRE工程师到底是做什么的?
查看>>
解读:Red Hat为什么收购Ansible
查看>>