2015-12-24 3 views
1

У меня возникла проблема с настройкой внешней конфигурации приложения. В настоящее время я пишу текстовую приключенческую игру, чтобы узнать Эликсир. Я думаю о том, чтобы хранить определения «комнаты» как JSON в каталоге «активы».Внешняя конфигурация приложения в Elixir

Вот посмотрите на мою структуру каталогов:

. 
├── _build 
│   ├── dev 
│   └── test 
├── assets 
│   ├── rooms <--- 
│   └── items 
├── config 
├── deps 
│   └── poison 
├── lib 
│   └── myzork 
└── test 

Я попытался Application.app_dir/1 & Application.app_dir/2, но эти справочные файлы под _build, когда я использую iex -S mix.

Как я могу получить этот каталог для отправки с моим кодом? Есть ли эликсир-способ ссылки на эти файлы? Или я об этом совершенно неправильно?

ответ

2

Если вы хотите, чтобы принести эти активы с вами, когда вы собираете и отправить заявку, то я предлагаю положить их внутрь priv (как priv/assets), так что Application.app_dir(:my_app, "priv") будет легко получить их.

Ваш случай использования, однако, предполагает, что вам могут понадобиться эти активы только во время компиляции (чтобы генерировать представления эликсиров этих комнат во время компиляции). Если это так, то поместите их туда, где вы хотите, и просто прочитайте их, где бы они ни находились, - используйте такие функции, как File.cwd/1 и аналогично постройте путь к ним.

+0

Я искал то, что вы сказали в своем первом абзаце. Это хорошо работает :) Однако в последние несколько дней я перешел к Ecto. Теперь клиенты получат JSON поверх HTTPS вместо файла. Благодаря! –

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