
用Slim .slim.yaml配置文件一键管理多服务slim up/down实战教程【免费下载链接】slimGive your localhost a local or public URL项目地址: https://gitcode.com/gh_mirrors/slim30/slimSlim是一个轻量级命令行工具能为你的本地项目快速创建干净的 HTTPS 域名如https://myapp.test指向localhost:3000。当你有多个微服务、前后端分离或多端口项目时一条一条敲slim start会非常繁琐——这时只需在项目根目录放一份.slim.yaml配置文件用slim up一键启动所有服务用slim down一键停掉它们即可把整套本地开发环境变成团队共享的配置清单。什么是 .slim.yaml 项目配置文件.slim.yaml是放在项目根目录的 YAML 文件用于声明当前项目需要的所有本地域名、端口和路径路由。相比逐个执行slim start它的优势是一键启停slim up/slim down批量管理服务团队共享文件可提交到代码仓库新成员克隆后直接slim up即可复现环境路径路由同一域名下不同路径可转发到不同端口如/api→ 8080配置文件解析逻辑在 internal/project/project.go 中定义。最快上手.slim.yaml 配置写法在项目根目录创建.slim.yamlservices: - domain: myapp # 不加后缀自动补全为 myapp.test port: 3000 routes: - path: /api # /api 路径转发到 8080 端口 port: 8080 - domain: dashboard port: 5173 - domain: app.loc # 指定完整域名可用任意 TLD port: 4000 log_mode: minimal # 日志模式full | minimal | off cors: true # 为代理响应添加 CORS 头关键字段说明字段说明domain域名省略后缀时自动追加.test域名只允许小写字母、数字和中划线port该域名转发的上游端口1–65535routes可选path必须以/开头命中路径转发到指定portlog_mode可选访问日志详细程度默认fullcors可选开启跨域响应头适合前端跨域联调slim up一键启动全部服务进入项目目录直接运行slim upslim up会从当前目录逐级向上查找.slim.yaml直到文件系统根目录因此在项目任意子目录下执行都能找到配置——查找逻辑见 internal/project/project.go。启动时 Slim 会自动完成一整套开箱即用的准备实现见 cmd/up.go校验配置域名重复、端口非法、路由路径格式等会直接报错提示为每个域名写入/etc/hosts并签发受信任的 HTTPS 证书拉起后台代理守护进程已在运行则热重载执行成功后终端会打印所有服务的访问清单效果类似✓ https://myapp.test → localhost:3000 https://myapp.test/api → localhost:8080 ✓ https://dashboard.test → localhost:5173 ✓ https://app.loc → localhost:4000 路由匹配采用最长前缀优先访问https://myapp.test/api/users会命中/api规则转发到 8080其余请求走默认端口 3000。匹配算法见 internal/config/config.go。slim down精准停掉项目服务不误伤他人slim down与slim stop停掉所有域名不同slim down只停止.slim.yaml中声明的服务其他项目正在使用的域名会保持运行实现见 cmd/down.go。它同时会从/etc/hosts移除这些域名的记录重载守护进程若停完后已无任何域名则自动关闭守护进程不再占用资源实用技巧常用命令速查场景命令指定配置文件路径启动slim up --config /path/to/.slim.yaml指定配置文件路径停止slim down --config /path/to/.slim.yaml查看当前运行中的域名slim list加--json输出结构化结果跟踪某个域名的访问日志slim logs --follow myapp诊断证书/端口转发/hosts 状态slim doctor⚠️ 小提醒避免使用.local后缀它被 mDNS 保留可能导致 macOS/Linux 上 DNS 解析缓慢。常见问题Q在子目录运行slim up找不到配置从当前目录向上查找只要.slim.yaml在任意祖先目录中即可也可用--config显式指定。Qslim down会停掉别的项目吗不会。它只处理配置文件里声明的域名其余服务不受影响。Q改端口后需要重启吗重新运行slim up即可Slim 会更新 hosts 与代理规则并热重载守护进程。相关源码导航启动命令实现cmd/up.go停止命令实现cmd/down.go配置解析与发现internal/project/project.go域名/路由校验与匹配internal/config/config.go项目说明README.md一句话总结把本地开发环境写进.slim.yamlslim up一键起飞slim down干净收工——这就是多服务本地开发的最简姿势 【免费下载链接】slimGive your localhost a local or public URL项目地址: https://gitcode.com/gh_mirrors/slim30/slim创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考