如何配置以在凤凰中重新编译

How can config to recompile in phoenix

我正在使用 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

不,你不需要任何扩展,brunch开箱即用。确保您在生成项目脚手架时没有使用 --no-brunch 选项,确保您的资产已按所示编译 here 并确保您在 assets/package.json 中启用了 watch 选项:

{
  "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"
  }
}

如果你想在开发时看到你的更改,你可以在 IEx 会话中启动你的服务器:

iex -S mix phx.server

然后使用

IEx.Helpers.recompile

重新编译您的代码。