2015-03-06 2 views
0

Я заинтересован в использовании Ember.js для создания динамического интерфейса для приложения с фоновым контентом, который будет по существу статическим.Использование Ember со статическим JSON-контентом

Есть ли способ «лучших практик» просто использовать статический файл json вместо сервера/базы данных? Это, по сути, то, как светильники работают для разработки, но я хотел бы сделать это для производства (в идеале загружая внешний контент json непосредственно в модель). Используя Ember-CLI для создания приложения, я считаю, что этот контент будет жить в папке /public.

В идеале эти данные будут сгенерированы чем-то вроде Jekyll или Middleman (где статический генератор сайта может прокручивать коллекцию сообщений/элементов и выплевывать один JSON-файл). У меня был некоторый успех, делающий это с Jekyll, но элементы в массиве JSON не имеют уникальных атрибутов id, которые, по-видимому, ожидают данные Ember.

Обоснование
Я работаю с научными публикациями (где содержание публикуется, а затем, как ожидается, стоять в течение многих лет, если не десятилетий). Если я смогу исключить необходимость поддержки сервера в реальном времени, приложение может быть загружено и использовано в автономном режиме или в среде, такой как Cordova.

+0

Там нет причин, почему вы не можете использовать приборы в производстве. –

ответ

1

Стоит рассмотреть нечто вроде Самозванец (https://github.com/trek/pretender), который является более «аутентичным» способом притворения заднего конца для моделей Ember.

Еще лучше, если вы планируете использовать Ember Data, эта библиотека работала как замена взамен реального заднего конца.

Я слышал, есть Ember Аддон для CLI - https://github.com/rwjblue/ember-cli-pretender

Кроме того, у меня есть JSBin валяется, который демонстрирует Самозванец ... http://emberjs.jsbin.com/nikenu/6/edit?html,js,output

+0

Спасибо, что поделился, это очень полезно - особенно JSBin, я не думаю, что мог бы на самом деле разобраться в том, что делает Самозванец, без живого примера. Будет ли проблема с использованием инструкции 'require' для загрузки фактического файла данных из общего каталога Ember при создании сервера-претендента? то есть 'var boxes = require (" public/boxes.js ")'? – Eric

+0

Вы достигли конца моего ограниченного знания Javascript :) Это, как говорится, похоже, что Претендент ожидает, что его будут кормить базовыми данными JSON, поэтому единственное, что я могу думать о том, что * может * мешать, было бы обещанием, если это кто-то добавлен в смесь. – Jim

Смежные вопросы