连接并缩小cordova / phonegap插件文件

我正在构build一个Cordova 3.5.0应用程序。 我使用grunt来构build一个缩小的web应用程序,然后使用cordova CLI和cordova挂钩来构build平台特定的包。 我使用了超过10个不同的插件,一些cordova官方和一些自定义。 我想知道如何连接和缩小与我的其他第三方库插件的JS文件。

执行cordova prepare我看到一个生成的cordova_plugins.js文件,其中包含以下内容:

 cordova.define('cordova/plugin_list', function(require, exports, module) { module.exports = [ { "file": "plugins/org.apache.cordova.globalization/www/GlobalizationError.js", "id": "org.apache.cordova.globalization.GlobalizationError", "clobbers": [ "window.GlobalizationError" ] }, { "file": "plugins/org.apache.cordova.globalization/www/globalization.js", "id": "org.apache.cordova.globalization.globalization", "clobbers": [ "navigator.globalization" ] } ]; module.exports.metadata = // TOP OF METADATA { "org.apache.cordova.globalization": "0.3.1" } // BOTTOM OF METADATA }); 

我知道如何使用这些插件来缩小和生成单个文件,但不知道如何调整cordova构build过程,以便从单个文件中获取所有的clobbers,但不同的包。 我首先想到的是,所有的过程都必须在AFTER_PREPARE步骤中完成,在platforms/<platform>/assets/www文件夹

由于两个原因,缩小确实提高了性能:

减小文件大小(因为它删除了注释和不必要的空格),所以脚本加载速度更快。 即使它embedded到。

它的parsing速度更快,因为注释和空格不必显式忽略(因为它们不在那里)。

但是,如果文件很大(2000行或更多),就像jquery一样,只会产生真正的差异。 对20行文件进行缩小是没有意义的。