unplugin-caddy-localhost
v0.1.4
Published
Unplugin: 用 Caddy 把 dev 映射到 https://xxx.localhost
Maintainers
Readme
unplugin-caddy-localhost
Unplugin 约定:用 Caddy 把 dev 映射到 https://xxx.localhost。host 可省略(默认从项目名推导;monorepo app 会自动带上 workspace root 名称),显式传入时须为 xxx.localhost 形式(如 frontend.localhost)。
前置条件
macOS 下三步(必做):
- 安装 Caddy:
brew install caddy - 启动 Caddy:
caddy run(监听 443 需权限时可sudo caddy run或sudo setcap 'cap_net_bind_service=+ep' $(which caddy)) - 浏览器显示「安全」:执行一次
caddy trust
安装
pnpm add -D unplugin-caddy-localhost
npm i -D unplugin-caddy-localhost使用(Vite)
// vite.config.ts
import caddyLocalhost from 'unplugin-caddy-localhost/vite';
export default defineConfig({
plugins: [caddyLocalhost()],
});- host(可选):不传时自动读取项目
package.json的name,推导为<name>.localhost(例如cheez-tech→cheez-tech.localhost);如果当前项目位于 monorepo workspace 中,会自动拼上 workspace root 的name,例如apps/web的包名为web、根包名为vibe-plus时,默认域名为web.vibe-plus.localhost,避免多个仓库的web.localhost冲突。传入时须为xxx.localhost。 - caddyAdmin(可选):Admin API 地址,默认
http://127.0.0.1:2019。 - autoStartCaddy(可选):API 不可达时是否自动执行
caddy run,默认 true。若 443 已被占用会提示可能已有 Caddy 在跑,请只保留一个实例。
Caddy 被关掉后插件会提示;用户再次 caddy run 后会自动重新注册,无需重启 Vite。
Nuxt
Nuxt 模块在 listen 时从开发服务器 listener 解析地址,再向 Caddy 注册反代,与 Vite 下基于 httpServer 的行为一致,不读取 .dev 或锁文件。
开发
- 监听构建:
vp run dev - 测试:
vp test - 构建:
vp run build - Vite playground:
vp run play:vite - Nuxt playground:
vp run play:nuxt
