2

私は、connect-assetmanagerミドルウェアでnodejs(v0.8.2)を使用して、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) のオブジェクト。 parse (E:\work\siteexV2\IDE\node_modules\connect-assetmanager-handlers\node_modules\uglify-js\lib\parse-js.js:704:19) Array.uglifyJsOptimize [0として] (E:\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 に答える