feature(package) minify v1.0.0

This commit is contained in:
coderaiser 2014-08-21 07:27:39 -04:00
parent f12ecf2bb9
commit 7070091856
5 changed files with 54 additions and 56 deletions

View file

@ -17,7 +17,7 @@
files = require(DIR_SERVER + 'files'),
AppCache = require(DIR_SERVER + 'appcache'),
update = require(DIR_SERVER + 'update'),
Minify = require(DIR_SERVER + 'minify'),
minify = require(DIR_SERVER + 'minify'),
Util = require(DIR_LIB + 'util'),
CloudFunc = require(DIR_LIB + 'cloudfunc'),
@ -264,7 +264,7 @@
}
function buildIndex(json, callback) {
var isMinify = Minify && Config.minify;
var isMinify = Config.minify;
Util.exec.if(!isMinify, function(error, name) {
fs.readFile(name || PATH_INDEX, 'utf8', function(error, template) {
@ -285,7 +285,8 @@
Util.exec(callback, error, data);
});
}, function(callback) {
Minify.optimize(PATH_INDEX, {
minify(PATH_INDEX, {
log : true,
returnName : true
}, callback);
});

View file

@ -11,20 +11,21 @@
var main = global.cloudcmd.main,
DIR = './',
DIR_SERVER = DIR + 'server/',
DIR = __dirname + '/../',
DIR_LIB = DIR + 'lib/',
DIR_SERVER = DIR_LIB + 'server/',
WIN = process.platform === 'WIN32',
URL = require('url'),
Path = require('path'),
path = require('path'),
http = require('http'),
https = require('https'),
Util = require(DIR + 'util'),
CloudFunc = require(DIR + 'cloudfunc'),
Util = require(DIR_LIB + 'util'),
CloudFunc = require(DIR_LIB + 'cloudfunc'),
Minify = require(DIR_SERVER + 'minify'),
minify = require(DIR_SERVER + 'minify'),
AppCache = require(DIR_SERVER + 'appcache'),
Socket = require(DIR_SERVER + 'socket'),
Console = require(DIR_SERVER + 'console'),
@ -127,9 +128,19 @@
return isMinify;
}
}),
controller
minify({
dir : DIR,
log : true,
is : function() {
var isMinify = main.config.minify;
return isMinify;
}
}),
controller.middle(DIR)
],
respondApp = Util.exec.with(respond, funcs);
@ -192,51 +203,34 @@
* @param req - запрос клиента (Request)
* @param res - ответ сервера (Response)
*/
function controller(req, res) {
var check, result,
config = main.config,
isMin = config.minify,
function controller(dir, req, res) {
var config = main.config,
parsedUrl = URL.parse(req.url),
query = parsedUrl.search || '',
path = ponse.getPathName(req),
name = path;
name = ponse.getPathName(req);
if (!expressApp)
Util.log(req.method + ' ' + path + query);
Util.log(req.method + ' ' + name + query);
name = path.join(dir, name);
/* watching is file changed */
if (config.appcache)
AppCache.watch(name);
name = Path.join(DIR, name);
check = checkExt(name);
result = isMin && check;
Util.exec.if(!result,
function(error, nameMin) {
var sendName = nameMin || name;
ponse.sendFile({
name : sendName,
cache : config.cache,
gzip : true,
request : req,
response : res
});
}, function(callback) {
Minify.optimize(name, {
returnName : true
}, callback);
ponse.sendFile({
name : name,
cache : config.cache,
gzip : true,
request : req,
response : res
});
}
function checkExt(name) {
var ret;
ret = Util.checkExt(name, ['js', 'css', 'html']);
return ret;
}
controller.middle = function(dir) {
return controller.bind(null, dir);
};
exports.start = start;

View file

@ -60,7 +60,7 @@
if (is)
names = names.map(function(key) {
return namesObj[key];
return namesObj[key] || key;
});
read(names);
@ -132,7 +132,7 @@
}
function minify(name, callback) {
Minify.optimize(name, {returnName:true}, function(error, name) {
Minify(name, {returnName:true}, function(error, name) {
callback(null, name);
});
}

View file

@ -2,20 +2,23 @@
'use strict';
var Util = require('../util'),
Minify = tryRequire('minify');
minify = tryRequire('minify');
exports.optimize = function(name, params, callback) {
Util.checkArgs(arguments, ['name', 'callback']);
module.exports = function(name, params, callback) {
var ret = middle;
if (!callback)
callback = params;
if (Minify)
Minify.optimize(name, params, callback);
else
if (minify)
ret = minify(name, params, callback);
else if (callback)
callback();
return ret;
};
function middle(req, res, next) {
next();
}
function tryRequire(name) {
var module;

View file

@ -30,7 +30,7 @@
"glob": "~4.0.5",
"http-auth": "2.1.x",
"marked": "~0.3.2",
"minify": "~0.9.0",
"minify": "~1.0.0",
"mkdirp": "~0.5.0",
"morgan": "~1.2.x",
"ncp": "~0.6.0",