Angular 2 app base href 与 Cordova IOS

Posted

技术标签:

【中文标题】Angular 2 app base href 与 Cordova IOS【英文标题】:Angular 2 app base href with Cordova IOS 【发布时间】:2016-11-23 08:20:54 【问题描述】:

我正在使用 Angular 2 和 cordova 开发一个应用程序。我已经使用 angular cli 来构建应用程序。当涉及到 ios 应用程序时,我现在在启动时遇到了一些路由问题。基本 href 似乎设置错误。如果我使用:<base href="/" target="_blank"> 设置基本 href,则应用程序不会加载。如果在我使用以下方式引导应用程序时设置了基本 href:...,provide(APP_BASE_HREF, useValue:'/'), ... 应用程序将加载但我得到以下异常:

异常:错误:未捕获(在承诺中):错误:无法匹配任何 路线: 'var/containers/Bundle/Application/3C8966ED-7DDD-4309-8C18-10B778C5AE15/test.app/www'

因此应用程序无法正常运行,因为在应用程序启动时没有加载关键文件。对于android,我遇到了同样的问题,但我找到了解决方案,在以下问题android solution 中设置基本href。有没有人遇到过这个问题并有解决方案?

编辑:我解决了这个问题:<base href="./" target="_blank">in index html 并删除 provide(APP_BASE_HREF, useValue:'/')。这样,我必须根据我将应用程序部署到 android 还是 ios 来设置更改基本 href。

【问题讨论】:

【参考方案1】:

我设置为

<base href="www">

并且所有css、js和图片文件加载都是正确的。

【讨论】:

以上是关于Angular 2 app base href 与 Cordova IOS的主要内容,如果未能解决你的问题,请参考以下文章

Angular 5在多个站点上进行生产构建部署

6Angular Route 路由

使用 --base-href 构建 Angular 库

Spring Security + Angular App REST Token Based Authentication = 403 Forbidden on POST

Angular 4 ng 构建 base-href 重复子目录

Angular 8:运行 ng build --prod --base-href './project1' 时访问资产文件夹