Connect-assetmanager文件与req.url不匹配

时间:2012-08-02 15:51:47

标签: javascript node.js minify

无论我做什么,当我在网址中输入js文件(http://localhost:3000/static/js/backbone.js)时,它会显示最后一个缓存的文件资产管理器。所以在这种情况下,即使我进入骨干网,它也会显示jquery.js。这是我正在使用的代码:

var sys = require('sys');
var fs = require('fs');
var Connect = require('connect');
var assetManager = require('connect-assetmanager');
var assetHandler = require('connect-assetmanager-handlers');

var root = __dirname + '/public';

var Server = module.exports = Connect.createServer();

Server.use('/',
    Connect.responseTime()
    , Connect.logger()
);

var assetManagerGroups = {
    'js': {
        'route': /\/static\/js\/.*\.js/
        , 'path': './public/js/'
        , 'dataType': 'javascript'
        , 'files': [
            'jquery.js',
            'backbone.js'
        ]  
    }
};

var assetsManagerMiddleware = assetManager(assetManagerGroups);
Server.use('/'
    , assetsManagerMiddleware
    , Connect.static(root)
);
Server.listen(3000);

1 个答案:

答案 0 :(得分:2)

您确定jquery.jsbackbone.js尚未合并到您的请求返回的同一js文件中吗?这是connect-assetmanager的{​​{3}}。

您的assetManagerGroups定义基本上是针对在.js路由上匹配的任何 /static/js/文件的请求,返回{{}的合并和缩小版本1}}和jquery.js。您要求backbone.js的事实无关紧要。

自述文件中的前后purpose很好地说明了这一点,它显示了捆绑的多个backbone.js jquery个文件并返回到{{1}的请求的单个响应中}。