Я создаю приложение 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
Мне любопытно, почему вы чувствуете необходимость конкатенации/минимизации ваших файлов плагинов. Действительно ли они настолько велики, что резко увеличивают размер скомпилированных двоичных файлов? Даже с прилично большой кодовой базой с большим количеством плагинов ни одно из моих приложений в Кордове даже не поцарапало 10 МБ, что значительно меньше, чем у любого родного приложения. – ejensler
Мой вопрос возник после обсуждения этого вопроса: http://stackoverflow.com/questions/10532376/minifying-code-for-phonegap-app/10703735#comment37498433_10703735. См. Комментарий Wytze – sgimeno
Вы можете пойти с плагином optim.js. –