Поиск…
замечания
Дальнейшие исследования 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.