1

我在使外部应用程序配置正常工作时遇到了一些问题。我目前正在编写一个基于文本的冒险游戏来学习 Elixir。我正在考虑将“房间”定义作为 JSON 存储在“资产”目录中。

下面看一下我的目录结构:

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

我已经尝试过Application.app_dir/1& Application.app_dir/2,但是_build当我使用iex -S mix.

我如何让这个目录与我的代码一起发布?有没有办法引用这些文件?还是我以完全不正确的方式解决这个问题?

4

1 回答 1

2

如果您想在构建和发布应用程序时随身携带这些资产,那么我建议将它们放在里面priv(如priv/assets),以便Application.app_dir(:my_app, "priv")轻松检索它们。

但是,您的用例表明您可能仅在编译期间才需要这些资产(以便在编译时生成这些房间的 Elixir 表示)。如果是这样,那么将它们放在您想要的任何地方,然后将它们读入,无论它们在哪里 - 使用类似File.cwd/1和类似的函数来构建它们的路径。

于 2015-12-27T10:02:35.497 回答