grunt-contrib-connect使用心得

https://www.zybuluo.com/bornkiller/note/25567

grunt-contrib-connect

  • connect依赖版本为V2.19.6.(2014/08/07)
  • base只能遍历文件,不能深层遍历文件夹,所以路径下的文件可以通过浏览器访问,路径下的文件夹下的文件不能访问。
base: [
    './',
    './libs/jquery',
    './libs/requirejs',
    './libs/requirejs-plugin',
]
  • keepalive设置为true,进程不会执行后自动退出。
  • middleware为中间件数组,可以自定义中间件。源码如下,如果传入的middleware参数是数组,则完全按照传入值覆盖处理。如果传入的是函数,则会先添加默认的静态文件中间件,再执行自定义中间件函数,函数返回值为处理之后的中间件数组。
    var middleware;
    if (options.middleware instanceof Array) {
      middleware = options.middleware;
    } else {
      middleware = createDefaultMiddleware.call(this, connect, options);
      if (typeof(options.middleware) === 'function') {
        middleware = options.middleware.call(this, connect, options, middleware);
      }
    }
  • 数据测试桩
    添加中间件,即可实现响应拦截,作为数据测试桩。
middleware: function(connect, options, middlewares) {
     middlewares.unshift(function(req, res, next) {
         var stubUrl = {
             "/user/info": {
                 "name": "jason",
                 "age": 23
             },
             "user/login": {
                 "authority" : true
             }
         };
         if(!stubUrl.hasOwnProperty(req.url)) {
            return next();
         }
         res.end(JSON.stringify(stubUrl[req.url]));
     });
      return middlewares;
}

你可能感兴趣的:(node.js)