2014-09-26 6 views
37

Я создаю приложение Cordova 3.5.0. Я использую grunt для создания миниатюрного веб-приложения, затем я использую cordova CLI и cordova hooks для создания пакета конкретной платформы. Я использую более 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 
}); 

Я знаю, как Минимизировать и создать единый файл с помощью этих плагинов, но не так, как настроить процесс Cordova сборки, чтобы получить все clobbers из одного файла, но разных пакетов. Моя первая мысль весь процесс должен осуществляться в шаге AFTER_PREPARE, внутри папок platforms/<platform>/assets/www

+4

Мне любопытно, почему вы чувствуете необходимость конкатенации/минимизации ваших файлов плагинов. Действительно ли они настолько велики, что резко увеличивают размер скомпилированных двоичных файлов? Даже с прилично большой кодовой базой с большим количеством плагинов ни одно из моих приложений в Кордове даже не поцарапало 10 МБ, что значительно меньше, чем у любого родного приложения. – ejensler

+0

Мой вопрос возник после обсуждения этого вопроса: http://stackoverflow.com/questions/10532376/minifying-code-for-phonegap-app/10703735#comment37498433_10703735. См. Комментарий Wytze – sgimeno

+0

Вы можете пойти с плагином optim.js. –

ответ

1

минификация действительно улучшает производительность по двум причинам:

Сниженного размера файла (так как он удаляет комментарии и ненужное белое-пространство), поэтому ваш скрипт загружается быстрее. Даже если он встроен в.

Он анализируется быстрее, поскольку комментарии и пробелы не должны явно игнорироваться (поскольку их там нет).

НО, это будет иметь реальное значение, если файл большой (2000 строк и более), например jquery. Нет смысла указывать 20-строчный файл.

+0

Это может технически «улучшить производительность», но это не то, что вы сможете заметить. –

Смежные вопросы