Gleam Mix 项目教程
mix_gleam ⚗️ Build Gleam code with mix 项目地址: https://gitcode.com/gh_mirrors/mi/mix_gleam
1. 项目的目录结构及介绍
Gleam Mix 项目的目录结构如下:
.
├── CHANGELOG.md
├── LICENSE
├── README.md
├── formatter.exs
├── gitignore
├── mix.exs
├── mix.lock
├── github
│ └── workflows
├── lib
├── test
└── test_projects
└── basic_project
目录结构介绍
- CHANGELOG.md: 记录项目的变更日志。
- LICENSE: 项目的开源许可证文件,采用 Apache-2.0 许可证。
- README.md: 项目的介绍文档,包含项目的安装和使用说明。
- formatter.exs: 格式化配置文件,用于代码格式化。
- gitignore: Git 忽略文件配置,指定哪些文件或目录不需要被 Git 跟踪。
- mix.exs: Mix 项目的配置文件,定义项目的依赖、编译器等信息。
- mix.lock: Mix 锁定文件,记录项目依赖的具体版本。
- github/workflows: 包含 GitHub Actions 的工作流配置文件。
- lib: 存放项目的核心代码。
- test: 存放项目的测试代码。
- test_projects/basic_project: 包含一个基本的测试项目,用于演示如何集成 Gleam 和 Elixir。
2. 项目的启动文件介绍
Gleam Mix 项目的启动文件是 mix.exs
,它是 Elixir 项目的核心配置文件。以下是 mix.exs
文件的主要内容:
defmodule MixGleam.MixProject do
use Mix.Project
def project do
[
app: :mix_gleam,
version: "0.6.0",
elixir: "~> 1.10",
start_permanent: Mix.env() == :prod,
deps: deps(),
archives: [mix_gleam: "~> 0.6"],
compilers: [:gleam | Mix.compilers()],
aliases: [
"deps.get": ["deps.get", "gleam.deps.get"]
],
erlc_paths: [
"build/dev/erlang/#{@app}/_gleam_artefacts",
"build/dev/erlang/#{@app}/build"
],
erlc_include_path: "build/dev/erlang/#{@app}/include",
prune_code_paths: false
]
end
defp deps do
[
{:gleam_stdlib, "~> 0.34 or ~> 1.0"},
{:gleeunit, "~> 1.0", only: [:dev, :test], runtime: false}
]
end
end
启动文件介绍
- app: 定义项目的应用名称。
- version: 定义项目的版本号。
- elixir: 定义项目所需的 Elixir 版本。
- start_permanent: 定义项目是否在生产环境中永久启动。
- deps: 定义项目的依赖项。
- archives: 定义项目的归档文件。
- compilers: 定义项目的编译器,包括 Gleam 编译器。
- aliases: 定义项目的别名,用于自定义 Mix 任务。
- erlc_paths: 定义 Erlang 编译路径。
- erlc_include_path: 定义 Erlang 包含路径。
- prune_code_paths: 定义是否修剪代码路径。
3. 项目的配置文件介绍
Gleam Mix 项目的主要配置文件是 mix.exs
,它包含了项目的所有配置信息。以下是 mix.exs
文件的详细介绍:
mix.exs 配置文件介绍
- app: 定义项目的应用名称,例如
:mix_gleam
。 - version: 定义项目的版本号,例如
"0.6.0"
。 - elixir: 定义项目所需的 Elixir 版本,例如
"~> 1.10"
。 - start_permanent: 定义项目是否在生产环境中永久启动,例如
Mix.env() == :prod
。 - deps: 定义项目的依赖项,例如
{:gleam_stdlib, "~> 0.34 or ~> 1.0"}
。 - archives: 定义项目的归档文件,例如
[mix_gleam: "~> 0.6"]
。 - compilers: 定义项目的编译器,包括 Gleam 编译器,例如
[:gleam | Mix.compilers()]
。 - aliases: 定义项目的别名,用于自定义 Mix 任务,例如
["deps.get": ["deps.get", "gleam.deps.get"]]
。 - erlc_paths: 定义 Erlang 编译路径,例如
["build/dev/erlang/#{@app}/_gleam_artefacts", "build/dev/erlang/#{@app}/build"]
。 - erlc_include_path: 定义 Erlang 包含路径,例如
"build/dev/erlang/#{@app}/include"
。 - prune_code_paths: 定义是否修剪代码路径,例如
false
。
通过这些配置,Gleam Mix 项目能够集成 Gleam 和 Elixir,实现跨语言的开发和测试。
mix_gleam ⚗️ Build Gleam code with mix 项目地址: https://gitcode.com/gh_mirrors/mi/mix_gleam
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考