Spec-Zone.ru › Phoenix

Начало работы

Исходный код

Создать новое приложение Phoenix можно двумя способами: с помощью экспресс-установки, доступной в некоторых ОС, или с помощью mix phx.new. Давайте посмотрим, как это работает.

Phoenix Express

Одной команды достаточно, чтобы запустить приложение за считаные секунды:

Для macOS/Ubuntu:

$ curl https://new.phoenixframework.org/myapp | sh

Для Windows PowerShell:

curl.exe -fsSO https://new.phoenixframework.org/myapp.bat; .\myapp.bat

Приведённая выше команда установит Erlang, Elixir и Phoenix, а также создаст новое приложение Phoenix. Она также автоматически выберет PostgreSQL или MySQL в качестве базы данных, а если ни одна из них недоступна — переключится на SQLite. После выполнения команды будет открыто приложение Phoenix с инструкциями, необходимыми для завершения установки. Обратите внимание: имя приложения Phoenix берётся из пути.

Если ваша операционная система не поддерживается или приведённая выше команда завершилась ошибкой, не беспокойтесь! Вы всё равно можете создать приложение Phoenix с помощью mix phx.new.

С помощью mix phx.new

Чтобы создать новое приложение Phoenix, необходимо установить Erlang, Elixir и Phoenix. Дополнительную информацию см. в руководстве по установке. Если вы делитесь приложением с кем-либо, этому человеку также нужно выполнить шаги из руководства по установке, чтобы всё настроить.

Когда всё будет готово, запустите mix phx.new из любого каталога, чтобы создать каркас приложения Phoenix. Для каталога нового проекта Phoenix принимает как абсолютный, так и относительный путь. Предположим, что наше приложение называется hello. Выполним следующую команду:

$ mix phx.new hello

По умолчанию mix phx.new включает ряд дополнительных зависимостей, например:

  • Ecto для работы с хранилищем данных, например PostgreSQL, MySQL и другими. Чтобы пропустить его установку, используйте --no-ecto.

  • Phoenix.HTML, TailwindCSS и Esbuild для HTML-приложений. Чтобы пропустить их установку, используйте флаги --no-html и --no-assets.

  • Phoenix.LiveView для создания интерактивных веб-приложений с обменом данными в реальном времени. Чтобы пропустить его установку, используйте --no-live.

Выполните mix help phx.new, чтобы узнать обо всех параметрах.

mix phx.new hello
* creating hello/config/config.exs
* creating hello/config/dev.exs
* creating hello/config/prod.exs
...

Fetch and install dependencies? [Yn]

Phoenix создаёт структуру каталогов и все файлы, необходимые для приложения.

Phoenix рекомендует использовать Git в качестве системы контроля версий: среди созданных файлов есть .gitignore. Мы можем git init наш репозиторий и сразу добавить и зафиксировать все файлы, не помеченные как игнорируемые.

После завершения приложение спросит, установить ли зависимости. Ответим утвердительно.

Fetch and install dependencies? [Yn] Y
* running mix deps.get
* running mix assets.setup
* running mix deps.compile

We are almost there! The following steps are missing:

    $ cd hello

Then configure your database in config/dev.exs and run:

    $ mix ecto.create

Start your Phoenix app with:

    $ mix phx.server

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

    $ iex -S mix phx.server

После установки зависимостей задача предложит перейти в каталог проекта и запустить приложение.

Phoenix предполагает, что в PostgreSQL есть учётная запись пользователя postgres с необходимыми разрешениями и паролем "postgres". Давайте проверим.

Сначала перейдём в каталог hello/, который только что создали, с помощью команды cd:

$ cd hello

Теперь создадим базу данных:

$ mix ecto.create
Compiling 13 files (.ex)
Generated hello app
The database for Hello.Repo has been created

Если создать базу данных не удалось, обратитесь к разделу Ecto о задачах Mix или выполните mix help ecto.create.

Наконец, запустим сервер Phoenix:

$ mix phx.server
[info] Running HelloWeb.Endpoint with Bandit 1.5.7 at 127.0.0.1:4000 (http)
[info] Access HelloWeb.Endpoint at http://localhost:4000
[watch] build finished, watching for changes...
...

Если при создании нового приложения мы решили не поручать Phoenix установку зависимостей, задача mix phx.new предложит выполнить необходимые действия, когда мы решим их установить.

Fetch and install dependencies? [Yn] n

We are almost there! The following steps are missing:

    $ cd hello
    $ mix deps.get

Then configure your database in config/dev.exs and run:

    $ mix ecto.create

Start your Phoenix app with:

    $ mix phx.server

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

    $ iex -S mix phx.server

По умолчанию Phoenix принимает запросы на порту 4000. Если открыть в любимом браузере адрес http://localhost:4000, должна появиться приветственная страница Phoenix Framework.

Phoenix Welcome Page

Если ваш экран выглядит так же, как на изображении выше, поздравляем! Теперь у вас есть работающее приложение Phoenix. Если страница выше не отображается, попробуйте открыть её по адресу http://127.0.0.1:4000, а затем убедитесь, что в настройках ОС «localhost» сопоставлен с «127.0.0.1».

Чтобы остановить приложение, нажмите ctrl-c дважды.

Теперь вы готовы исследовать мир Phoenix! Книги, видеоруководства, курсы и многое другое можно найти на странице нашего сообщества.

Также можно продолжить чтение этих руководств, чтобы быстро ознакомиться со всеми составляющими приложения Phoenix. Если вы выберете этот вариант, руководства можно читать в любом порядке или начать с руководства, в котором объясняется структура каталогов Phoenix.

← Предыдущая страница Установка
Следующая страница → Сообщество

Пакет Hex Предпросмотр Hex (текущий файл) Скачать версию ePub

Создано с помощью ExDoc (v0.40.3) для языка программирования Elixir

© 2014 Chris McCord
Licensed under the MIT License.
https://phoenix.hexdocs.pm/up_and_running.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API