Поиск…
замечания
Дальнейшие исследования Appcache
http://www.html5rocks.com/en/tutorials/indexeddb/todo/
http://grinninggecko.com/2011/04/22/increasing-chromes-offline-application-cache-storage-limit/
http://www.html5rocks.com/en/tutorials/offline/quota-research/
https://developers.google.com/chrome/apps/docs/developers_guide?csw=1#installing
https://developers.google.com/chrome/apps/docs/developers_guide?csw=1#manifest
Meteor.status ()
Первое, что нужно сделать при отключении вашего приложения Meteor, - это создать визуальную индикацию того, подключено ли локальное клиентское приложение к серверу или нет. Есть много способов сделать это, но самый простой способ - это сделать что-то вроде этого:
Template.registerHelper('getOnlineStatus', function(){
return Meteor.status().status;
});
Template.registerHelper('getOnlineColor', function(){
if(Meteor.status().status === "connected"){
return "green";
}else{
return "orange";
}
});
<div id="onlineStatus" class="{{getOnlineColor}}">
{{getOnlineStatus}}
</div>
.green{
color: green;
}
.orange{
color: orange;
}
Включить Appcache
Одним из простых шагов является добавление appcache. Appcache позволит загружать контент вашего приложения, даже если интернет-доступ отсутствует. Вы не сможете получать какие-либо данные с ваших серверов mongo, но статический контент и активы будут доступны в автономном режиме.
meteor add appcache
Включить GroundDB
Наконец, мы хотим, чтобы некоторые из наших динамических данных сохранялись в автономном режиме.
meteor add ground:db
Lists = new Meteor.Collection("lists");
GroundDB(Lists);
Todos = new Meteor.Collection("todos")
GroundDB(Todos);
Что нужно быть осторожным
- Appcache вызывает некоторую путаницу в вашем рабочем процессе разработки, поскольку он скрывает функции автоматического обновления Meteor. Когда вы отключите серверный компонент приложения, часть клиента в вашем браузере продолжит работу. Это хорошая вещь! Но вы не получаете немедленную обратную связь о том, что ваше приложение отключено, или что были обновления.
- Попробуйте использовать режим Incognito Chrome в процессе разработки приложения, поскольку он не использует appcache.
- GroundDB не работает особенно хорошо с IronRouter.