aliyun oss sync dist 使用的 有没有 / 区别

这2个区别是:
aliyun oss sync dist oss://target
aliyun oss sync dist/ oss://target

这两个命令的区别非常关键,尤其是在使用 aliyun oss sync 的时候会影响同步的目录结构


命令对比:

1. aliyun oss sync dist oss://target

  • 含义:同步整个 dist 目录(包括目录名本身)到 OSS 的 target 目录。
  • 效果
    • OSS 上会变成: oss://target/dist/index.html oss://target/dist/css/style.css ...

2. aliyun oss sync dist/ oss://target

  • 含义:同步 dist 目录下的内容(不包括 dist 目录本身)到 OSS 的 target 目录。
  • 效果
    • OSS 上会变成: oss://target/index.html oss://target/css/style.css ...

总结区别:

| 命令 | 是否包含 dist 目录本身 | OSS 上的路径举例 |
|-------------------------------|----------------------------|-------------------------------------------|
| aliyun oss sync dist oss://target | ✅ 是 | oss://target/dist/xxx |
| aliyun oss sync dist/ oss://target | ❌ 否 | oss://target/xxx(直接同步内容) |


使用建议:

  • ✅ 想同步内容但不保留 dist 文件夹本身结构 → 用 dist/
  • ✅ 想同步整个 dist 文件夹作为子目录 → 用 dist

如果你是在构建部署(如前端打包)后上传到 OSS 静态托管页面,通常用的是:

aliyun oss sync dist/ oss://your-bucket-name/

这样打包输出会直接出现在根路径,而不会多一层 /dist

要不要我帮你写个自动检测 dist 是否存在并上传的脚本?