gpt4 book ai didi

javascript - Angular $locationProvider html5Mode/ 错误

转载 作者:行者123 更新时间:2023-11-29 14:47:57 24 4
gpt4 key购买 nike

所以我遇到了 Angular 1.3.15 和 $locationProvider 的问题。每次打开 html5mode 时,我都会收到 TypeError: Cannot read property 'replace' of undefined 错误。如果我关闭 html5mode,一切正常。

我的目录结构是这样的(4.DEV 是一个版本化的目录名):

public /
- index.html
4.DEV /
css /
js /
images /
partials /
etc...

我有一个这样的基本标签集:

<base href="/4.DEV/">

我正在像这样配置 $locationProvider:

$locationProvider.html5Mode({ enabled: true });

如果我将基本标记 href 更改为 "/" Angular 没有任何问题(但我的 Assets 不会加载)。我怀疑 Angular 所处理的问题是我的 index.html 文件是网站其余部分的一个目录。

由于我不会在这里列出的原因,我无法更改此目录结构并且我真的不想更改基本标记(因为我不想手动将版本号粘贴到所有这些文件中) .我还想保留 html5mode。

有人能解决这个问题吗?有没有什么方法可以让我手动设置 Angular 的“基本 href”,但让我的所有静态 Assets 单独使用标签?

最佳答案

因此,看起来 Angular 的内部工作与标记的 href 紧密耦合,如果您的目录结构有点像我的非常规,这会导致重大问题。

偶然发现了这个Github thread人们要求一个功能来改变这个,@greglockwood 发布了一个修复。

通过他的修复,当您为 Angular 的东西提供您自己的设置“baseHref”时,该标签可以用于您的静态 Assets 。

对我来说就像一个魅力!希望这可以帮助任何偶然发现这个问题的人!

关于javascript - Angular $locationProvider html5Mode/<base> 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30225042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com