[英]Phonegap 3.0 slow to build
我正在開發一個新的Phonegap 3應用程序。 我發現開發過程非常緩慢。 每次我想在我的應用程序中測試更改時,我都必須在控制台中運行:
phonegap運行android
此命令大約需要30秒才能運行! 如何改善測試每次變化的時間?
如果您正在使用ecllipse開發Android,您可以使用Android手機,使用USB電纜將其與您的開發機器連接,並從此處安裝必要的驅動程序。 驅動程序主要用於mac和linux中的windows,通常不需要。 設置完成后,只需點擊你的ide運行即可。
如果您有大量文件(帶有演示的庫,非縮小文件等),在應用程序上安裝可能需要很長時間。
我創建了這個鈎子(添加到before_prepare),它只復制必要的文件(在我的項目中的“requirements.json”中指定)。
您需要運行cd hooks/before_prepare && npm install ncp
來安裝依賴項。
鈎/ before_prepare / 010copy_assets.js
#!/usr/bin/env node
console.log("=== Running copy required assets hook ===");
var fs = require('fs'),
path = require('path');
var mkdirSync = function(path) {
try {
fs.mkdirSync(path);
} catch (e) {
if (e.code != 'EEXIST') throw e;
}
}
var mkdirpSync = function(dirpath) {
var parts = dirpath.split(path.sep);
for (var i = 1; i <= parts.length; i++) {
mkdirSync(path.join.apply(null, parts.slice(0, i)));
}
}
try {
var ncp = require('ncp').ncp
var requirements = require('./../../myproject/requirements.json');
ncp.limit = 200;
ncp.stopOnErr = true;
requirements.forEach(function(requirement) {
var source = './myproject/' + requirement;
var destination = './www/' + requirement;
var folders = destination.split('/');
folders.pop();
mkdirpSync(path.normalize(folders.join('/')));
ncp(source, destination, function(err) {
if (err) {
console.log('====== Error! Did not copy asset from ' + source + ' to ' + destination + ' ======');
console.error(err);
process.exit(1001);
} else
console.log('====== Copied asset from ' + source + ' to ' + destination + ' ======');
});
});
} catch (e) {
console.error(e);
console.error(e.stack);
process.exit(1000);
}
示例requirements.json
[
"js",
"css",
"img",
"index.html"
]
請注意,您可以將內容直接移動到構建www目錄(內部平台),但它們在ios和android下有不同的路徑
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.