将基于角度7路由的应用程序作为`file://`运行(不带服务器)

时间:2019-05-05 10:59:57

标签: angular angular-routing angular-router

我有一个基于路由的角度应用程序,我想要将其作为html文件捆绑到WebView应用程序中,以便~/app_path/index.html

可以访问它

我使用ng build --prod --output-path ./../ng-build成功构建了它,并且在浏览器中可以正常加载。

问题是,如果我使用路由器模块,则会收到Unhandled Navigation Error警告,并且路由不起作用。

我尝试对useHash使用散列值

imports: [RouterModule.forRoot(routes, {useHash: true})],

,并希望它可能适用于路线,例如

`~/app_path/index.html#settings`
`~/app_path/index.html#profile`
`~/app_path/index.html#details`

但这无济于事-应用启动后路由器立即崩溃

enter image description here

在此file://模式下,是否有解决方案或解决方法来实现路由?或者也许是在此处的应用中使用另一种架构方法来代替路由。

1 个答案:

答案 0 :(得分:1)

根据this thread<base> href属性设置为绝对路径有助于解决路由问题

<script>document.write('<base href="' + document.location + '" />');</script>

所以基本元素看起来像这样

<base href="file:///Users/guest/build/index.html">

路由演示:

enter image description here