Как можно конфиг перекомпилировать в фениксе

Я использую Phoenix для создания сервера и использую редактор VSCode.

Когда я запускаю сервер: mix phx.server и у меня есть изменение кода, он не перекомпилируется, я должен выключить и снова запустить.

Должны ли быть установлены расширения или конфигурации где-нибудь, что может автоматически перекомпилироваться?

файл dev.exs

config :jwtuser, Jwtuser.Endpoint,
  http: [port: 5000],
  debug_errors: true,
  code_reloader: true,
  check_origin: false,
  watchers: [node: ["node_modules/brunch/bin/brunch", "watch", "--stdin",
                    cd: Path.expand("../assets", __DIR__)]]

в mix.exs

def project do
    [
      app: :jwtuser,
      version: "0.0.1",
      elixir: "~> 1.4",
      elixirc_paths: elixirc_paths(Mix.env),
      compilers: [:phoenix, :gettext] ++ Mix.compilers,
      start_permanent: Mix.env == :prod,
      aliases: aliases(),
      deps: deps(),
      erlc_options: erlc_options()
    ]
  end

2 ответа

Решение

Если вы хотите увидеть изменения во время разработки, вы можете запустить свой сервер в сеансе IEx с помощью:

iex -S mix phx.server

А потом использовать

IEx.Helpers.recompile

Перекомпилировать ваш код.

Нет, вам не нужно никаких расширений, brunch делает это из коробки. Убедитесь, что вы не использовали --no-brunch во время создания скаффолда проекта убедитесь, что у вас есть скомпилированные ресурсы, как показано здесь, и убедитесь, что у вас есть watch опция включена в вашем assets/package.json:

{
  "repository": {},
  "license": "MIT",
  "scripts": {
    "deploy": "brunch build --production",
    "watch": "brunch watch --stdin"
  },
  "dependencies": {
    "phoenix": "file:../deps/phoenix",
    "phoenix_html": "file:../deps/phoenix_html"
  },
  "devDependencies": {
    "babel-brunch": "6.1.1",
    "brunch": "2.10.9",
    "clean-css-brunch": "2.10.0",
    "uglify-js-brunch": "2.10.0"
  }
}
Другие вопросы по тегам