我有一个Vue应用程序托管在Amazon S3 bucket上。通过S3链接w/http访问时,加载效果很好。当我通过自定义SSL域链接访问该网站时,javascript无法正确提供。JS文件完全可以通过浏览器中的https访问,但无法在浏览器中执行。下面是一个错误提示:如果您的页面是空的,请点击这里返回首页
无法加载模块脚本:应为JavaScript模块脚本,但服务器响应的MIME类型为“text/plain”。根据HTML规范对模块脚本强制执行严格的MIME类型检查。
还有:我是按照这里的指示:https://levelup.gitconnected.com/deploying-vue-js-to-aws-with-https-and-a-custom-domain-name-3ae1f79fe188
3条答案
按热度按时间ac1kyiln1#
解决了这个问题,我只需要在S3控制台中手动将单个js对象的系统定义内容类型从text/plain更改为application/javascript,然后确保该高速缓存在我的浏览器上无效并刷新。
aelbi1ox2#
如果通过aws命令行工具上传,您可以通过注册表编辑使其上传具有正确mime/内容类型的javascript文件。
修改注册表项
HKEY_CURRENT_USER\SOFTWARE\Classes.js
将“内容类型”设置为“应用程序/javascript”
注意:Windows Update可能会将注册表项的值还原为“text/plain”。
8hhllhi23#
AWS S3在上传过程中将js文件的默认“内容类型”元数据确定为“text/plain”。解决此类问题的方法是将文件上传到s3,并在js文件的元数据中明确指定内容类型。