【发布时间】:2017-08-18 10:50:23
【问题描述】:
我在 s3 上托管一个 Angular 2 应用程序。我在 s3 存储桶上使用重定向规则,如 answer 中所定义。
<RoutingRules>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<HostName>yourdomainname.com</HostName>
<ReplaceKeyPrefixWith>#!/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>
然后我的 Angular 应用使用 html5 路由来匹配重定向规则:
在 app.module.ts 中:
RouterModule.forRoot(appRoutes, { useHash: true })
这种组合效果很好,除了在网站的资产文件夹中显示图像。这是在我的导航栏中:
<img src="./assets/logo.png" id="group-ed-logo" />
我正在使用 angular-cli,它在 angular-cli.json 中有以下内容:
"assets": [
"assets",
"assets/logo.png",
"favicon.ico",
"logo.png"
],
编辑:我在上面添加了logo.png并将logo.png文件放在src文件的根目录下然后使用:
<img src="logo.png" id="group-ed-logo" />
然后会显示徽标。将图像放在资产文件夹中会更整洁。但是,使用 html 5 路由时,可能是 angular-cli 当前不支持文件夹中的资产。
如果文件在资产目录中,那么我会得到一个 404 url 未找到:“http://www.myurl.com/#/assets/logo.png”。
【问题讨论】:
-
请确认:
http://www.myurl.com/assets/logo.png存在并且可以被您的浏览器加载? -
确实存在,但无法加载。我找到了一种解决方法,并认为我可能有一个解决方案,我将在明天尝试。抱歉现在没时间发帖
标签: angularjs angular amazon-s3 routing angular-cli