Hanami 项目使用教程
1. 项目的目录结构及介绍
Hanami/
├── app/
│ ├── controllers/
│ ├── models/
│ ├── views/
│ └── helpers/
├── config/
│ ├── application.rb
│ ├── environment.rb
│ └── routes.rb
├── db/
│ ├── migrate/
│ └── seeds.rb
├── lib/
│ ├── tasks/
│ └── hanami/
├── public/
├── spec/
├── Gemfile
├── Gemfile.lock
└── .env
app/
: 包含应用程序的主要代码,包括控制器、模型、视图和辅助函数。config/
: 包含应用程序的配置文件,如application.rb
、environment.rb
和routes.rb
。db/
: 包含数据库迁移文件和种子数据。lib/
: 包含自定义库和任务。public/
: 包含静态文件,如图片、CSS 和 JavaScript。spec/
: 包含测试文件。Gemfile
和Gemfile.lock
: 定义项目的依赖关系。.env
: 包含环境变量配置。
2. 项目的启动文件介绍
config/application.rb
是 Hanami 项目的启动文件。它包含了应用程序的基本配置,如应用程序名称、环境设置等。以下是一个示例:
require 'bundler/setup'
require 'hanami/setup'
require 'hanami/model'
require_relative '../lib/hanami'
require_relative '../apps/web/application'
Hanami.configure do
mount Web::Application, at: '/'
model do
adapter :sql, ENV.fetch('DATABASE_URL')
migrations 'db/migrate'
schema 'db/schema.sql'
end
environment :development do
logger level: :debug
end
environment :production do
logger level: :info, formatter: :json
mailer do
delivery :smtp, address: ENV.fetch('SMTP_HOST'), port: ENV.fetch('SMTP_PORT')
end
end
end
3. 项目的配置文件介绍
config/environment.rb
这个文件用于设置应用程序的环境变量和基本配置。以下是一个示例:
require_relative './application'
Hanami::Container.configure do
environment :development do
# 开发环境配置
end
environment :production do
# 生产环境配置
end
end
config/routes.rb
这个文件用于定义应用程序的路由。以下是一个示例:
# config/routes.rb
get '/', to: 'home#index'
resources :articles
.env
这个文件用于存储环境变量,如数据库连接字符串、SMTP 服务器地址等。以下是一个示例:
DATABASE_URL=postgres://localhost/hanami_development
SMTP_HOST=smtp.example.com
SMTP_PORT=587
以上是 Hanami 项目的基本使用教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些内容能帮助你更好地理解和使用 Hanami 项目。