我在使用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就不会有任何问题(但我的资源不会加载)。我怀疑Angular遇到的问题与我的index.html文件在其余站点的上一级目录有关。出于某些原因,我不能在此处列出,我无法更改此目录结构,而且我真的不想更改基础标签(因为我不想手动将版本号插入所有这些文件中)。 我还想保留html5mode。
有没有人有解决这个问题的方法? 有没有办法让我手动设置Angular的“base href”,但保持所有静态资产的标签不变?