webstorm需为dev/staging/prod分别创建独立服务器条目,每个配置远程根路径、映射关系及排除规则;部署路径是相对于服务器根目录的相对路径,非url;排除项全局生效,须显式过滤node_modules等无关目录。

WebStorm 本身不提供“多环境部署配置文件”的抽象层,它只管理映射关系和上传行为;真正实现多环境,靠的是你手动拆分部署配置 + 合理复用映射规则。
部署配置必须按环境单独建,不能共用一个服务器条目
WebStorm 的 构建、执行、部署 | 部署 设置里,“服务器”是原子单位。dev / staging / prod 必须分别添加三个独立服务器条目(比如叫 dev-server、staging-server、prod-server),每个都配自己的 文件夹(远程根路径)、连接(SFTP/FTP/本地路径)和 映射(本地路径 → 远程子路径)。共用一个服务器再靠变量切换,行不通——IDE 不解析环境变量,也不支持条件映射。
- 每个服务器的
文件夹值要不同:比如/var/www/myapp-dev、/var/www/myapp-staging、/var/www/myapp-prod -
映射里的部署路径可以相同(如/或/dist),因为它是相对于各自服务器根目录的 - 别勾选
仅对该项目可见,否则导出配置时会丢失
映射中的部署路径不是 URL,而是服务器上的相对路径
新手常把 部署路径 填成 https://dev.example.com/dist,结果上传失败。这个字段只接受路径字符串(如 /dist、./build、app),且始终相对于你在 连接 选项卡中填的 文件夹(本地服务器)或 根路径(远程服务器)。WebStorm 会自动拼出完整目标位置:文件夹 + 部署路径。
- 如果
文件夹是/home/user/deploy/staging,部署路径填/public,实际上传到/home/user/deploy/staging/public -
Web path字段才影响浏览器访问 URL,填/static就对应http://host/static/,但它不影响上传逻辑 - 多个环境映射可以共享同一套
本地路径 → 部署路径规则,只要远程结构一致
上传前务必检查“排除项”,否则 node_modules 会被误传
默认部署会上传整个 本地路径 下的内容,包括 node_modules、.git、dist 等无关目录。在 部署 设置页底部的 排除项 区域,必须显式添加过滤规则:
- 填
**/node_modules(注意双星号匹配任意层级) - 加
.git、yarn.lock、package-lock.json(除非你真要传 lock 文件) - 前端项目建议加
src/**、tests/**,只传构建产物(如dist/**或build/**) - 这些排除项是全局生效的,所有服务器配置都会继承,不用每环境重复设
用“上传到…”右键菜单时,注意当前激活的是哪个服务器
右键文件选 部署 | 上传到 xxx,那个 xxx 是下拉列表,顶部显示当前默认服务器(灰色字),但你点开后能手动切。容易踩的坑是:改了服务器配置却忘了在右键菜单里手动选新环境,结果一直传到旧地址。
- 上传前看一眼右键菜单顶部的默认项,不确定就点开确认
- 临时上传可用快捷键
Ctrl+Alt+Shift+U(Windows/Linux)或Cmd+Option+Shift+U(macOS),它会弹出带环境选择的对话框 - 永久配置好后,建议把常用环境的上传操作绑定到自定义快捷键,避免每次点菜单
最麻烦的不是配置数量,而是映射路径和排除规则一旦写错,上传就会静默覆盖错误目录——WebStorm 不校验远程路径是否存在,也不阻止你往 /etc 里传文件。上线前务必先用测试服务器验证一次完整流程。











