Hanami项目指南:从目录结构到配置详解
hanamiThe web, with simplicity.项目地址:https://gitcode.com/gh_mirrors/ha/hanami
Hanami是一款用于构建现代Web应用的Ruby框架,它强调分层架构和关注点分离。以下是基于其GitHub仓库(https://github.com/hanami/hanami.git)的项目结构、启动文件以及配置文件的解析。
1. 项目目录结构及介绍
Hanami的应用程序通常遵循一个清晰且有序的目录结构,以支持模块化和可维护性。
├── app # 应用的核心代码,包括模型、视图和控制器
│ ├── actions # 控制器动作,处理HTTP请求
│ ├── mailers # 处理电子邮件发送
│ ├── models # 数据访问对象,通常与数据库交互
│ ├── views # 视图模板,用于呈现数据给用户
│ └── web # Web应用程序的主要入口点
│ ├── controllers # 更细分的控制器逻辑
│ ├── layouts # HTML布局文件
│ └── templates # 具体页面的模板
├── config # 应用的配置文件
│ ├── application.rb # 主配置文件,定义了应用的基础设置
│ ├── environments # 不同环境(如development, test, production)的特定配置
│ └── routes.rb # 路由配置,定义URL到控制器动作的映射
├── db # 数据库迁移和相关脚本
│ └── migrations
├── lib # 自定义库或者不能直接放在app下的代码
├── public # 静态资源,如图片、CSS、JavaScript等
├── tmp # 缓存和运行时产生的临时文件
├── storage # 用户上传或应用生成的持久化数据存储
├── config.ru # Rack应用程序的加载文件,用于启动服务器
├── Gemfile # Ruby依赖管理文件
└── hanami.yml # 全局配置文件,可以覆盖config/application.rb中的默认值
2. 项目的启动文件介绍
- config.ru:这是一个Rack兼容的应用初始化文件,用于启动Hanami应用。通过这个文件,Rack服务器(如Puma, WEBrick等)知道如何加载并运行你的Hanami应用。
require_relative 'config/environment'
run Hanami::Server
这段简单的代码引入了应用的环境配置,并实例化并运行Hanami服务器。
3. 项目的配置文件介绍
- config/application.rb 是Hanami应用的主配置文件。在这里你可以定义你的应用名称,设置环境,以及注册中间件和数据库连接等。
Hanami.app do
configure do
# 设置默认环境
setting :environment, ENV['HANAMI_ENV'] || 'development'
# 设置数据库适配器
setting :database_adapter, 'sqlite3'
# 可以添加更多的全局配置项
end
# 引入各个部分如actions, models等
autoload :Actions
autoload :Models
end
- hanami.yml 提供了一个YAML格式的全局配置选项,允许在不修改Ruby代码的情况下调整配置。这包含了数据库配置、服务端口等信息,是应用级别更灵活的配置方式。
通过这些关键组件的理解,开发者能够更好地驾驭Hanami框架,构建健壮且易于维护的Web应用。
hanamiThe web, with simplicity.项目地址:https://gitcode.com/gh_mirrors/ha/hanami