s3cmd 用错误的 MIME 类型标记 CSS

Fro*_*its 1 amazon-s3 s3cmd circleci reactjs

我正在 React 应用程序的 CircleCI 上运行自动构建。一个步骤涉及运行npm run build,然后复制到 S3 存储桶以托管构建。我看到的是 s3cmd 正在*.css使用错误的 MIME 类型 ( text/plain)将文件复制到我的 S3 存储桶,并且在提供时会导致 Web 应用程序无法工作。

我在我的 mac(自制软件)和 CircleCI(在 nodejs 容器内运行,通过安装 pip、setuptools 和通过安装 s3cmd 安装)上本地运行 s3cmd 2.0.2 版sudo python setup.py install

在我的 mac 上本地运行时,我像这样部署我的应用程序:

s3cmd put --recursive -P dist/* s3://$BUCKET

在 CircleCI 上——我运行完全相同的命令。我也尝试过--guess-mime-type似乎没有效果的选项。

我确定MIME类型错误的方式是这样的:

$ s3cmd info s3://$BUCKET/$DEPLOY/static/css/main.a0a90112.css | grep MIME MIME type: text/plain

当我从本地机器部署后运行相同的命令时,我得到一个 CSS MIME 类型。

那么我做错了什么?

dev*_*fix 5

我在将扩展名为 mime type type 的文件设置为s3cmd rsync(不是s3cmd put问题中的那样)时遇到了这个问题。感谢上面的评论和它的链接问题,这修复了它:.csstext/plain

s3cmd sync --no-mime-magic --guess-mime-type ...
Run Code Online (Sandbox Code Playgroud)