HTML5网页无需编译,发布即文件传输;Linux/macOS常用rsync增量同步,Windows可用内置scp或pscp,跨平台推荐lftp;切勿用本地开发服务器替代生产环境,须确保资源路径为相对路径或正确配置base/publicPath。
HTML5 网页本身不需要“编译”或“构建”,发布就是把文件放到能被 HTTP 访问的地方;所谓“命令行发布”,其实是你本地用工具(如 scp、rsync、ftp 或 CI 脚本)把文件传到服务器,不同系统只是命令语法和默认工具略有差异,不是 HTML5 本身的限制。
Linux/macOS 下用 rsync 推送最稳
这是生产环境最常用的方式:增量同步、断点续传、支持排除临时文件。
-
rsync -avz --delete ./dist/ user@host:/var/www/html/:推送./dist/目录全部内容到远程 Nginx/Apache 根目录 - 注意
--delete会删掉目标端多余文件,上线前先试加--dry-run - macOS 默认没装
rsync(旧版 macOS 有,新版可能需brew install rsync) - 路径末尾的
/很关键:./dist/表示同步内容,./dist(无斜杠)会把整个dist目录复制进去
Windows 下用 scp 或 pscp 更直接
PowerShell 默认不带 scp,但 Win10 1809+ 已内置 OpenSSH 客户端,启用后可用原生命令。
- 先确认:运行
Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*',若显示 “NotPresent”,需执行Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 - 启用后直接用:
scp -r .\dist\ user@host:/var/www/html/(注意 Windows 路径用反斜杠,但scp仍认正斜杠) - 若失败,换
pscp(PuTTY 工具集):pscp -r -pw "password" .\dist\* user@host:/var/www/html/ - Windows 对
~路径展开不敏感,别写~/public_html,老实用绝对路径
跨平台通用:用 ftp 命令要特别小心
原生 ftp 客户端不支持密码直传(有安全警告),且不同系统行为不一致,仅适合临时调试。