2014-09-26 73 views
37

我正在构建Cordova 3.5.0应用程序。我使用grunt来构建一个缩小的web应用程序,然后使用cordova CLI和cordova hook来构建平台特定的包。我使用了10多个不同的插件,一些科尔多瓦官方和一些定制。我想知道如何使用其他第三方库连接和缩小插件中的JS文件。连接并缩小cordova/phonegap插件文件

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

我知道如何来缩小并产生这些插件单个文件但不知道如何来调整科尔多瓦构建过程中得到的所有来自单个文件但不同软件包的破坏者。我首先想到的是所有的过程有一个AFTER_PREPARE步骤来完成,该platforms/<platform>/assets/www文件夹内

+4

我很好奇为什么你觉得需要连接/缩小你的插件文件。它们真的很大以至于大大增加了编译后的二进制文件的大小?即使是拥有大量插件的体积庞大的代码库,我的科尔多瓦应用程序都没有抓到10mb,这比任何原生应用程序都小得多。 – ejensler 2015-05-11 03:43:48

+0

我的问题出现在这个问题产生的讨论后:http://stackoverflow.com/questions/10532376/minifying-code-for-phonegap-app/10703735#comment37498433_10703735。请参阅Wytze评论 – sgimeno 2015-05-11 16:00:17

+0

您可以使用require.js优化器插件。 – 2015-06-01 04:59:52

回答

1

微小确实改善了性能,原因有二:

减少文件大小(因为它消除意见和不必要的空格),所以你的脚本加载速度更快。即使它嵌入到。

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

但是,它只是如果文件很大(2000行或更多),如jquery才会有真正的区别。缩小20行文件没有意义。

+0

它可能在技术上“提高性能”,但它不是你能够注意到的。 – 2015-08-10 19:26:35