Spec-Zone.ru › Phoenix

mix phx.new

Исходный код

Создает новый проект Phoenix.

Ожидает путь к проекту в качестве аргумента.

$ mix phx.new PATH [--module MODULE] [--app APP]

Будет создан проект по указанному пути PATH. Имя приложения и имя модуля будут получены из пути, если не указаны --module или --app.

Параметры

  • --umbrella — создать umbrella-проект с одним приложением для предметной области и вторым приложением для веб-интерфейса.

  • --app — имя приложения OTP

  • --module — имя базового модуля в генерируемом скелете

  • --database — указать адаптер базы данных для Ecto. Один из:

    • postgres — через https://github.com/elixir-ecto/postgrex
    • mysql — через https://github.com/elixir-ecto/myxql
    • mssql — через https://github.com/livehelpnow/tds
    • sqlite3 — через https://github.com/elixir-sqlite/ecto_sqlite3

    Пожалуйста, обратитесь к документации драйвера для получения дополнительной информации и требований. По умолчанию "postgres".

  • --adapter — указать HTTP-адаптер. Один из:

    • cowboy — через https://github.com/elixir-plug/plug_cowboy
    • bandit — через https://github.com/mtrudel/bandit

    Пожалуйста, обратитесь к документации адаптера для получения дополнительной информации и требований. По умолчанию "bandit".

  • --no-assets — эквивалентно --no-esbuild и --no-tailwind

  • --no-dashboard — не включать Phoenix.LiveDashboard

  • --no-ecto — не генерировать файлы Ecto

  • --no-esbuild — не включать зависимости и ассеты esbuild. Мы не рекомендуем использовать эту опцию, кроме как для приложений только с API, так как в этом случае вам придется вручную добавлять и отслеживать зависимости JavaScript

  • --no-gettext — не генерировать файлы gettext

  • --no-html — не генерировать HTML-представления

  • --no-live — закомментировать настройку сокета LiveView в вашей Endpoint и assets/js/app.js. Автоматически отключается, если указан флаг --no-html

  • --no-mailer — не генерировать файлы почтовой службы Swoosh

  • --no-tailwind — не включать зависимости и ассеты tailwind. Сгенерированная разметка все равно будет содержать классы Tailwind CSS, они оставлены в качестве примера для последующей стилизации вашего макета и компонентов

  • --binary-id — использовать binary_id в качестве типа первичного ключа в схемах Ecto

  • --verbose — использовать подробный вывод

  • -v, --version — выводит версию установщика Phoenix

  • --no-version-check — пропустить проверку наличия последней версии phx_new

  • --no-agents-md — не генерировать файл AGENTS.md

При передаче флага --no-ecto генераторы Phoenix, такие как phx.gen.html, phx.gen.json, phx.gen.live и phx.gen.context, могут работать не так, как ожидалось, поскольку они создают файлы контекста, зависящие от Ecto для доступа к базе данных. В таких случаях вы можете передать флаг --no-context, чтобы сгенерировать большую часть файлов HTML и JSON, пропустив контекст, что позволит вам заполнить пробелы по своему усмотрению.

Аналогично, если указан флаг --no-html, файлы, сгенерированные phx.gen.html, больше не будут работать, так как будут отсутствовать важные HTML-компоненты.

Установка

mix phx.new по умолчанию предлагает загрузить и установить зависимости. Вы можете включить это поведение, передав флаг --install, или отключить его с помощью флага --no-install.

Примеры

$ mix phx.new hello_world

Эквивалентно:

$ mix phx.new hello_world --module HelloWorld

Или без компонентов HTML и JS (полезно для API):

$ mix phx.new ~/Workspace/hello_world --no-html --no-assets

В виде umbrella-проекта:

$ mix phx.new hello --umbrella

Сгенерирует следующую структуру каталогов и модули:

hello_umbrella/   Hello.Umbrella
  apps/
    hello/        Hello
    hello_web/    HelloWeb

Подробнее об umbrella-проектах можно прочитать в документации mix

PHX_NEW_CACHE_DIR

В редких случаях может быть полезно скопировать сборку из ранее кэшированной сборки. Для этого установите переменную окружения PHX_NEW_CACHE_DIR перед запуском mix phx.new. Например, вы можете сгенерировать кэш, выполнив:

mix phx.new mycache --no-install && cd mycache   && mix deps.get && mix deps.compile && mix assets.setup   && rm -rf assets config lib priv test mix.exs README.md

Каталог кэшированной сборки должен содержать:

_build
deps
mix.lock

Затем вы можете выполнить:

PHX_NEW_CACHE_DIR=/path/to/mycache mix phx.new myapp

Весь каталог кэша будет скопирован в новый проект, заменяя любые существующие файлы в случае конфликтов.

Пакет Hex Предпросмотр Hex Скачать версию в формате ePub

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

© 2014 Chris McCord
Licensed under the MIT License.
https://phoenix.hexdocs.pm/Mix.Tasks.Phx.New.html

Spec-Zone.ru

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