用途:在 Phoenix/Phoenix LiveView 项目中用 Volt 替换默认前端工具链。Volt 是运行在 BEAM 内的前端工具,基于 Rust NIF(OXC、LightningCSS),一个 Elixir 依赖即可替代 esbuild、tailwind CLI 以及非原生 JS 所需的 Node.js。mix phx.server 会自动启动工具链,模板变更时 Tailwind 约 40ms 重建,JS 通过 HMR 热替换,编译错误以浏览器浮层显示;无需 vite.config.js 和 tailwind.config.js,全部在 config/*.exs 配置。
主要能力:JS 打包、Tailwind v4 CSS 构建、开发服务器与监听、HMR、错误浮层、oxlint 检查、JS/TS 格式化。
使用方式:优先用 Igniter 安装:mix igniter.install volt,然后 mix phx.server。手动步骤:在 mix.exs 添加 {:volt, "~> 0.14"} 并移除 esbuild、tailwind,运行 mix deps.get;在 config/config.exs 配置 entry、root、outdir、resolve_dirs、target、tailwind;在 config/dev.exs 用 Mix.Tasks.Volt.Dev 替换 watchers 并配置 :server;在 endpoint.ex 的 code_reloading? 块内加入 plug Volt.DevServer;布局中用 Volt.static_path/2 引用资源;更新 mix aliases 为 volt.build --tailwind 与 phx.digest。常用命令:mix volt.build、mix volt.dev、mix volt.lint、mix volt.js.check、mix npm.install。
适用场景:Phoenix 单应用或 umbrella 项目;使用 DuskMoon 或 umbrella 时需参考 references/duskmoon-umbrella.md 的预打包方案。
限制:资料未提供收费、价格、平台支持范围与性能基准等细节;具体版本兼容性暂未提供。