Kronky 项目教程
1. 项目的目录结构及介绍
Kronky 项目的目录结构如下:
kronky/
├── config/
│ └── config.exs
├── lib/
│ └── kronky/
│ ├── kronky.ex
│ └── validation_message.ex
├── test/
│ └── kronky_test.exs
├── .gitignore
├── .iex.exs
├── CHANGELOG.md
├── LICENSE
├── README.md
├── coveralls.json
├── mix.exs
└── mix.lock
目录介绍
config/
: 包含项目的配置文件。lib/
: 包含项目的主要代码文件。kronky/
: Kronky 模块的主要实现。kronky.ex
: Kronky 的主要逻辑。validation_message.ex
: 验证消息的结构定义。
test/
: 包含项目的测试文件。.gitignore
: Git 忽略文件配置。.iex.exs
: IEx 配置文件。CHANGELOG.md
: 项目更新日志。LICENSE
: 项目许可证。README.md
: 项目说明文档。coveralls.json
: 代码覆盖率配置。mix.exs
: Mix 项目配置文件。mix.lock
: Mix 依赖锁定文件。
2. 项目的启动文件介绍
Kronky 项目的启动文件是 mix.exs
。这个文件定义了项目的基本信息、依赖、任务等。
defmodule Kronky.MixProject do
use Mix.Project
def project do
[
app: :kronky,
version: "0.5.0",
elixir: "~> 1.4",
start_permanent: Mix.env() == :prod,
deps: deps(),
description: description(),
package: package(),
source_url: "https://github.com/Ethelo/kronky"
]
end
def application do
[
extra_applications: [:logger]
]
end
defp deps do
[
{:ecto, "~> 2.1"},
{:absinthe, "~> 1.4"},
{:ex_doc, "~> 0.14", only: :dev, runtime: false}
]
end
defp description do
"Kronky bridges the gap between Ecto and Absinthe GraphQL by listing validation messages in a mutation payload"
end
defp package do
[
name: :kronky,
files: ["lib", "mix.exs", "README.md", "LICENSE"],
maintainers: ["Ethelo"],
licenses: ["MIT"],
links: %{"GitHub" => "https://github.com/Ethelo/kronky"}
]
end
end
主要内容
project/0
: 定义项目的基本信息,如应用名称、版本、Elixir 版本、依赖等。application/0
: 定义应用启动时需要启动的应用程序。deps/0
: 定义项目的依赖。description/0
: 项目的描述。package/0
: 项目的包信息。
3. 项目的配置文件介绍
Kronky 项目的配置文件位于 config/config.exs
。这个文件定义了项目的基本配置。
use Mix.Config
config :kronky,
ecto_repos: [YourApp.Repo]
import_config "#{Mix.env()}.exs"
主要内容
config :kronky
: 配置 Kronky 模块的 Ecto 仓库。import_config "#{Mix.env()}.exs"
: 根据环境导入相应的配置文件。
以上是 Kronky 项目的基本教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望对你有所帮助!