検索

ホームページ  >  に質問  >  本文

仮想ディレクトリ内の Angular + Cordova

仮想ディレクトリで実行するように Angular アプリケーションをセットアップしました。 (https://{url}/{virtualDirectory})

このアプリケーションを、コンテンツ ソースとして URL を指す Cordova アプリケーションでラップしようとしています。 (<コンテンツ src="https://{url}/{virtualDirectory}"/>)

index.html ファイルに、cordova.js スクリプトを追加しました。 (<script src="cordova.js"></script>)

私の問題は、Angular Router が邪魔になっているようです。アプリケーションをデバッグすると、次のコンソール エラーが表示されます:

構文エラーが見つかりました:cordova.js:1:1

で予期しないトークン '<'

ソース コードを見ると、Angular アプリケーションの 404 ページがレンダリングされているため、Angular ルーティングがこのパスを処理しようとしていることがわかります。

Docker 構成でビルドしてデプロイするときは、仮想フォルダーを使用する必要があるため、baseHref を設定します。

ng build --base-href /{virtualDirectory}/ --configuration=$environment --output-path=dist

実際の Web ページでは

<base href="/{virtualDirectory}/"> としてレンダリングされます。

この問題をグーグルで調べてみましたが、これを修正する方法に関する提案が見つかりませんでした (または少なくとも機能するものはありませんでした)。誰かが私を正しい方向に導くのを手伝ってくれませんか?ティア。

P粉551084295P粉551084295285日前792

全員に返信(1)返信します

  • P粉616383625

    P粉6163836252024-02-18 21:25:09

    Apache サーバー上の仮想ディレクトリでパブリッシュするときにも、この問題が発生しました。私が従ったのは次のとおりです:

    1. 物理パス フォルダーと仮想ディレクトリ フォルダーが同じであることを確認してください。のように:###
      物理パス:
    • D:\some-path\project-name\audience
    • 仮想パス:
    • https://your-web-name/audience/d63b643da9b9cfc65e7d304b0aa33c98
      このコマンドを実行します
    1. ng build --base-href ./ --deploy-url ./ (: このコマンドは、ポイント 1 に正しく従った場合にのみ機能します)
    2. 返事
      0
  • キャンセル返事