На мой взгляд лучший опция заключается в использовании phonegap serve
. Пульсация в порядке, но в ней отсутствует управление собственными функциями.
Некоторые плагины имеют реализацию для браузера, поэтому будет доступно полное api. У тех, у кого его нет, телефонная книга cli справится с этим.
Для того, чтобы использовать его, вы должны сначала установить платформу браузера:
$ cordova platform add browser
$ phonegap serve
Я пытался использовать cordova serve
, но он не работает, как phonegap
делает в моем случае.
После запуска phonegap serve
вы можете отлаживать свое приложение в браузере.
UPDATE
От https://github.com/apache/cordova-plugin-contacts/pull/122/files вы могли бы реализовать свои собственные ответы обратного вызова.Это очень прямая реализация, что вы можете расширить, как вам нужно (см create, find, pickContact и contact для деталей реализации):
var contacts = [];
var mockContacts = require('./mockContacts'); // This is a json mock file with your contacts
function Contact(contact) {
var field;
for (field in contact) {
if (contact.hasOwnProperty(field)) {
this[field] = contact[field];
}
}
}
Contact.prototype.clone = function() {
// You can implement this methods if needed as well
}
Contact.prototype.remove = function() {
// You can implement this methods if needed as well
}
Contact.prototype.save = function() {
// You can implement this methods if needed as well
}
mockContacts.map(function (contact) {
contacts.push(new Contact(contact));
};
function createContact(contact) {
var newContact = new Contact(contact);
contacts.push(newContact);
return newContact;
}
function findContact(contactFields, contactSuccess, contactError, contactFindOptions) {
contactSuccess = contactSuccess || function() {};
contactSuccess(contacts); // You can filter the contacts if needed
return true;
}
function pickContact(contactSuccess, contactError) {
contactSuccess = contactSuccess || function() {};
contactSuccess(contacts[0]);
return true;
}
module.exports = {
create: createContact,
find: findContact,
pickContact: pickContact
};
Спасибо, это похоже на большую работу (я не уверен). Я надеялся на какое-то готовое решение, такое как расширение Chrome. – bgst
Это довольно много, но это лучшая практика, так как она также помогает писать единицы управляемого и проверяемого кода. Многие фреймворки, такие как угловые, поддерживают [сервисы] (https://docs.angularjs.org/guide/services) и [службы единичного тестирования] (https://docs.angularjs.org/guide/services) ... – Phonolog