【发布时间】:2018-07-14 16:47:12
【问题描述】:
我正在使用无服务器来部署我的后端和前端。我的前端正在使用创建反应应用程序。我相信在我做了以下更改后
<img className="svg-width" src="/img/Icons/photographer-camera.svg" alt="camera icon" />
<img className="svg-width" src="/img/icons/photographer-camera.svg" alt="camera icon" />
我将 Icons/ 更改为 icons/ 的地方出现以下问题:
Uncaught SyntaxError: Unexpected token
在我的 s3 存储桶中,我导航到 img/ 并验证我的目录对于图标也是小写的。
语法错误的问题文件是我域的/static/js/main.977eb738.js 下的main.977eb738.js。但是当我去我的桶时,我看不到那个 js 文件。我看到了
它抱怨的文件中的代码是 create react app 样板中 public/index.html 中的 index.html。
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#000000">
<script src="https://maps.googleapis.com/maps/api/js?key=MY_KEY&libraries=places"></script>
<script src="https://js.stripe.com/v3/"></script>
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root"></div>
</body>
</html>
还有一点需要注意的是,这在本地甚至在移动设备上都可以正常工作。我认为这可能是云端缓存,所以我等了一整天,仍然无法找到这个错误的根源。
【问题讨论】:
-
没有理由等待一整天。只需通过将
/*指定为路径来创建整个分配的 CloudFront invalidation。等待它完成,然后重新测试。此外,Age和X-Cache响应标头可让您了解 CloudFront 正在做什么。如果Age不存在并且您看到X-Cache: Miss from Cloudfront,则该对象不在缓存中。
标签: reactjs amazon-s3 npm amazon-cloudfront serverless-framework