Nodejs + connect-assetmanager + uglifyJs

我使用nodejs(v0.8.2)和connect-assetmanager中间件来使用uglifyJs(v1.3.2)打包和缩小我的js文件。 我的configuration就像`

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)); }); 

`

但是当我启动应用程序时,发生错误:

(E:\ work \ siteexV2 \ IDE)在新的JS_Parse_Error(E:\ work \ siteexV2 \ IDE \ node_modules \ connect-assetmanager-handlers \ node_modules \ uglify -js \ lib \ parse-js.js:263:22) (E:\ work \ siteexv2 \ IDE \ node_modules \ connect-assetmanager-handlers \ node_modules \ uglify)。 (E:\ work \ siteexV2 \ IDE \ node_modules \ connect-assetmanager-handlers \ node_modules \ uglify -js \ lib \ parse)中的-js \ lib \ parse-js.js:367:17) (E:\ work \ siteexV2 \ IDE \ node_modules \ connect-assetmanager-handlers \ node_modules \ uglify -js \ lib \ parse-js.js:718:37)。parsing(E:\ work \ siteexV2 \ IDE \ node_modules \ connect-assetmanager-handlers \ node_modules \ uglify -js \ lib \ parse-js.js:704:19)at Array.uglifyJsOptimize [as 0](E:\ work (E:\ work \ siteexV2 \ IDE \ node_modules \ connect-assetmanager \ lib \ assetmanager.js:275:42)。 )在模块 在Function.module.exports.generateCache.settings.forEach.userAgentMatches.forEach.content(E:\ work \ E:\工作\ siteexV2 \ IDE \ node_modules \连接,assetmanager \ LIB \ assetmanager.js:231:11)

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

我不熟悉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)); });