Угловая база данных без сервера

Я работаю над заданием для фиктивного приложения телефонной книги, которое является частью "дополнительных баллов" теста для открытия вакансии в местном веб-интерфейсе. Я уже делал некоторые базовые приложения с angular, но я всегда использовал их вместе с php и mysql. Для этого проекта в требованиях указано, что я не могу общаться с сервером, поэтому мне нужно хранить, редактировать, удалять и искать данные без реальной базы данных.

Я даже не знаю, какие есть варианты для достижения чего-то подобного, и какой из них мне выбрать. Я ищу простейший инструмент, который мог бы помочь мне выполнить эти требования, предпочтительно тот, который имеет приличную документацию, которая может помочь мне как можно быстрее приступить к работе.

4 ответа

Вы можете использовать простую локальную файловую систему и хранить объекты как JSON, используя JSON.stringify() и разобрать их обратно, используя JSON.parse(jsonstring)

записать телефонную книгу в файл вашего сервера

var phonebook = {
    'name1' : 234283409,
    'name2' : 234253453,
    'name3' : 234234236
};

var jsonStr = JSON.stringify(phonebook);

/*
__________________
contents of jsonStr

{"name1":234283409,"name2":234253453,"name3":234234236}
__________________
write a logic here to save this JSON on a file in your server.
*/

читать телефонную книгу в файл вашего сервера

//write a logic here to read JSON back from your server's file
var jsonStr = getJSONDataFromServer();

var phonebook = JSON.parse(jsonStr);

//now you can use your phonebook as a usual js object

Для хранения данных на клиенте вы можете использовать любые локальные методы хранения:

  • WebStorage: API веб-хранилища (предоставляет как sessionStorage, так и localStorage)
  • gears: постоянное хранилище на основе Google Gears
  • whatwg db: стандарт хранения базы данных HTML
  • cookie: постоянное хранилище на основе файлов cookie RFC

Лучший выбор зависит от типа данных, которые вам нужно хранить, и от использования этих данных. Самый распространенный выбор WebStorage,

Если вы используете Angular, доступен отличный модуль ngStorage, который позволяет Web Storage работать в Angular Way.

Имейте в виду, что:

  • Конечно, вы сможете хранить только данные для каждого пользователя (то есть вы не сможете хранить какой-либо глобальный статус приложения).
  • любое клиентское решение для хранения данных устанавливает строгие ограничения по пространству, которые часто отличаются в разных браузерах.

Если вместо этого вы просто не хотите использовать какое-либо локальное серверное решение, вы можете попробовать какую-нибудь облачную платформу, например, Firebase (только что приобретенную Google) или другие.

Вы можете использовать CSV-файл для хранения ваших данных.

Вы можете использовать Google Firebase. Если Firebase сложен для вас, тогда используйте простое локальное хранилище.

Другие вопросы по тегам