创建凤凰项目

为了在 Phoenix 框架中创建你的第一个项目,你应该安装 Elixir,Erlang,Hex 和 Phoenix 归档文件。你还应该安装 PostgreSQL 和 node.js 来构建默认应用程序。

打开终端或命令提示符,然后转到要在其中创建应用程序的文件系统上的位置。phoenix.new 是 mix 命令,它将为你创建新项目。假设我们的应用程序的名称是 hello_phoenix_world,那么输入

$ mix phoenix.new hello_phoenix_world

或者,我们可以从任何目录运行 mix phoenix.new 以引导我们的 Phoenix 应用程序。Phoenix 将接受新项目目录的绝对路径或相对路径

$ mix phoenix.new /Users/username/work/elixir-projects/hello_phoenix_world

输出

mix phoenix.new hello_phoenix_world
* creating hello_phoenix_world/config/config.exs
* creating hello_phoenix_world/config/dev.exs
* creating hello_phoenix_world/config/prod.exs
...
* creating hello_phoenix_world/web/views/layout_view.ex
* creating hello_phoenix_world/web/views/page_view.ex

Fetch and install dependencies? [Yn]

Phoenix 将为你的项目生成目录结构,它将创建应用程序所需的所有文件。Mix 会询问你是否要安装其他必需的依赖项。我们对此说

Fetch and install dependencies? [Yn] Y
* running mix deps.get
* running npm install && node node_modules/brunch/bin/brunch build

一旦依赖安装,任务会提示你更改到项目目录并启动应用程序。

Move into your new project folder:

    $cd hello_phoenix_world

你现在需要设置 postgres 用户名和密码,除非它已使用默认的 postgres useranme 和 postgres 密码进行设置。编辑 config/dev.exs 文件并设置用户名和密码:

# config/dev.exs
config :hello_phoenix_world, HelloPhoenixWorld.Repo,
  adapter: Ecto.Adapters.Postgres,
  username: "postgres",
  password: "postgres",
  database: "hello_phoenix_world_dev",
  hostname: "localhost",
  pool_size: 10
  
Now, create the database with the ecto mix task:

    $ mix ecto.create

We have a working application! Run your Phoenix application:

    $ mix phoenix.server

You can also run your app inside IEx (Interactive Elixir) as:

    $ iex -S mix phoenix.server

Load `http://localhost:4000` into your browser and you will see the default landing page of your application.

现在,让我们向 Phoenix 应用程序添加 hello world。打开 web/templates/page/index.html.eex 文件并用以下内容替换内容并保存文件:

<h2>Hello World</h2>

如果你尚未退出服务器,则会自动编译新代码,你的浏览器现在应显示 Hello World 消息。

你现在可以创建 CRUD 资源

最后,要退出服务器,请连续两次输入 ctrl-c crtl-c(同时按下 control keyc 键)。