From 7781ef4cc6bd34e7a773d3e1977b9ec6db2c6e2c Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 26 Nov 2013 10:14:01 +0000 Subject: [PATCH] feature(server) add minify --- lib/server.js | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/lib/server.js b/lib/server.js index a21bb1f9..65ae3811 100644 --- a/lib/server.js +++ b/lib/server.js @@ -204,34 +204,53 @@ } } + function minify(name) { + return function(callback) { + Minify.optimize(name, { + callback : callback + }); + }; + } + function combine(params) { var names, i, n, name, minName, + funcs = [], config = main.config, dir = DIR, p = params, path = params.name, COMBINE = '/combine/', - isCombine = Util.isContainStrAtBegin(path, COMBINE); + isCombine = Util.isContainStrAtBegin(path, COMBINE), + readPipe = function() { + files.readPipe(names, dir, p.response, function(error) { + if (error) + main.sendError(params, error); + }); + }; if (isCombine) { path = Util.removeStrOneTime(path, COMBINE); names = path.split(':'); n = names.length; - if (config.minify) + if (!config.minify) + readPipe(); + else { for (i = 0; i < n; i++) { name = Path.join(DIR, names[i]); minName = Minify.getName(name); + if (name !== minName) { names[i] = minName; dir = ''; } + + funcs.push(minify(name)); } + + Util.asyncCall(funcs, readPipe); + } - files.readPipe(names, dir, p.response, function(error) { - if (error) - main.sendError(params, error); - }); } return isCombine;