• 中间件


    常见的中间件有哪些

    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

    }

  • 相关阅读:
    Android——点击对话框上按钮不关闭对话框
    超酷的Android 侧滑(双向滑动菜单)效果
    Android快速开发不可或缺的11个工具类(下载)
    Android ——真机调试
    Android程序完全退出的三种方法
    android 添加桌面快捷方式
    最全Android开发常用工具类
    成为Java GC专家(5)—Java性能调优原则
    JVM调优总结 + jstat 分析
    mysql中max_allowed_packet参数的配置方法(避免大数据写入或者更新失败)
  • 原文地址:https://www.cnblogs.com/yanxiaowu-xiexie/p/10263220.html
Copyright © 2020-2023  润新知