首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >直接以角6加载页面

直接以角6加载页面
EN

Stack Overflow用户
提问于 2018-09-28 12:41:44
回答 4查看 5K关注 0票数 5

我有一个角6应用程序,它有一个名为资产的组件。当我通过routerLinks导航到组件时,页面将按预期加载并显示数据:

http://localhost:4200/assets/2

但是,如果我刷新页面,或者直接在浏览器中加载链接,那么我的许多脚本都无法加载:

代码语言:javascript
复制
GET http://localhost:4200/assets/runtime.js net::ERR_ABORTED 404 (Not Found)

Refused to execute script from '<URL>' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

GET http://localhost:4200/assets/polyfills.js net::ERR_ABORTED 404 (Not Found)

我需要在路由器里做些什么吗?是什么原因造成的?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-09-28 12:47:54

这是因为,角路由器默认使用PathLocationStrategy。

http://localhost:4200/assets/2。刷新浏览器时,需要重定向到主页(index.html),这应该在服务器端路由器重定向设置中处理。

您也可以尝试HashLocationStrategy,也就是说,它将添加带有“#”的路由器路径。http://localhost:4200/#assets/2。如果按此操作,则可以处理页面刷新。但是我们需要确保页面状态在所有模块中都是可用的,包括拉兹加载模块。

票数 2
EN

Stack Overflow用户

发布于 2018-09-28 16:28:56

在路由模块中启用散列位置。应该看上去像下面的样子。

代码语言:javascript
复制
const routes: Routes = [
  { path: '', component: MyComponent },
  { path: 'my-other', component: MyOtherComponent }
];

@NgModule({
  exports: [ RouterModule ],
  imports: [ RouterModule.forRoot(routes, {useHash: true}) ]
})
export class MyRoutingModule { }

在那个角度之后,就可以处理提神了。

票数 7
EN

Stack Overflow用户

发布于 2020-10-19 06:41:35

当您更改基href值时,也会发生此问题。

代码语言:javascript
复制
<base href="/"> to Something else

在index.html中

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52555589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档