2

我正在使用 nodejs(v0.8.2) 和 connect-assetmanager 中间件来使用 uglifyJs(v1.3.2) 捆绑和缩小我的 js 文件。我的配置就像`

var assets = 
    {
    'loginJs':{
        'debug': false,
        'route': /\/js\/login.js/
        , 'path': './public/scripts/'
        , 'dataType': 'javascript'
        , 'files': [
            'configs.js',
            'WMTX.Web.Library.js',
            'sso.js',
            'index.js'
        ]
        ,'postManipulate': {
                 '^': [
                assetHandler.uglifyJsOptimize
            ]
        } 
    },
    assetManager = require('connect-assetmanager'),
    assetsManagerMiddleware = assetManager(assets);
    app.configure(function(){
    app.use("/", assetsManagerMiddleware, express.static(o.paths.root));
});

`

但是当我启动应用程序时,出现了错误:

在新的 JS_Parse_Error (E:\work\siteexV2\IDE\node_modules\connect-assetmanager-handlers\node_modules\uglify-js\lib\parse-js.js:263:22) 在 js_error (E:\work\siteexV2\IDE \node_modules\connect-assetmanager-handlers\node_modules\uglify-js\lib\parse-js.js:271:15) 在 parse_error (E:\work\siteexV2\IDE\node_modules\connect-assetmanager-handlers\node_modules\uglify -js\lib\parse-js.js:367:17) 在 Object.next_token [作为输入] (E:\work\siteexV2\IDE\node_modules\connect-assetmanager-handlers\node_modules\uglify-js\lib\parse -js.js:613:17) 在下一个 (E:\work\siteexV2\IDE\node_modules\connect-assetmanager-handlers\node_modules\uglify-js\lib\parse-js.js:718:37) 在 Object.在 Array.uglifyJsOptimize [as 0] (E:\work\siteexV2\IDE\node_modules\connect-assetmanager-handlers\node_modules\uglify-js\lib\parse-js.js:704:19)\work\siteexV2\IDE\node_modules\connect-assetmanager-handlers\lib\handlers.js:57:26) 在修改 (E:\work\siteexV2\IDE\node_modules\connect-assetmanager\lib\assetmanager.js:275 :42) 位于 Function.module.exports.generateCache.settings.forEach.userAgentMatches 的 module.exports.manipulate (E:\work\siteexV2\IDE\node_modules\connect-assetmanager\lib\assetmanager.js:281:7)。 forEach.content (E:\work\siteexV2\IDE\node_modules\connect-assetmanager\lib\assetmanager.js:231:11)forEach.content (E:\work\siteexV2\IDE\node_modules\connect-assetmanager\lib\assetmanager.js:231:11)forEach.content (E:\work\siteexV2\IDE\node_modules\connect-assetmanager\lib\assetmanager.js:231:11)

我尝试在命令行中使用 uglifyJs 缩小这些 js,所有文件都可以成功缩小。请任何知道出了什么问题的人给我一些帮助,这让我发疯!非常感谢

4

1 回答 1

-1

我不熟悉 connect-assetmanager,但您的代码中有一些语法错误。

据我了解您正在尝试做什么,您忘记用分号结束您的“资产”声明。调用 require() 后,您似乎在做同样的事情。这是更正后的代码:

var assets = 
   {
   'loginJs':{
       'debug': false,
       'route': /\/js\/login.js/,
       'path': './public/scripts/',
       'dataType': 'javascript',
       'files': [
           'configs.js',
           'WMTX.Web.Library.js',
           'sso.js',
           'index.js'
       ],
       'postManipulate': {
           '^': [assetHandler.uglifyJsOptimize]
       }
   }; // <- note the semicolon

assetManager = require('connect-assetmanager'); // <- and here
assetsManagerMiddleware = assetManager(assets);

app.configure(function() {
    app.use("/", assetsManagerMiddleware, express.static(o.paths.root));
});
于 2012-07-19T12:48:30.217 回答