3

そのため、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 ファイルがサイトの残りのディレクトリから 1 つ上のディレクトリにあるという事実に対処していると思われます。

ここには記載しませんが、この dir 構造を変更することはできず、基本タグを変更したくありません (これらすべてのファイルにバージョン番号を手動で貼り付けたくないため)。また、html5mode をオンのままにしたいと思います。

誰でもこの問題の解決策を持っていますか? Angular の「base href」を手動で設定する方法はありますが、すべての静的アセットのタグはそのままにしておきますか?

4

1 に答える 1