web-dev-qa-db-ja.com

Angular usingangular-cliを使用して静的ファイルにプレフィックスパスを追加する

/ static /パスを介して静的ファイルを提供している既存のDjangoプロジェクトがあります。アプリケーションの一部をangular2に移行して、サイトの特定のモバイルバージョンにします。

Index.htmlに<base href="/">を追加すると、静的ファイルが読み込まれますwww.example.com/main.jsはここで404を取得します。 index.htmlに<base href="/static/">を追加すると、静的ファイルが正しく読み込まれますが、アプリケーションがブートストラップすると、URLが/ order /であるはずなのに、URLが/ static /に変更されます(ルーターを使用しています)。

ベースhrefを/として使用する方法はありますが、angular-cliを使用してスクリプトファイルとスタイルファイルにプレフィックスを追加します

バージョンng --versionを使用

@angular/cli: 1.0.0-rc.0
node: 6.9.1
os: win32 x64
@angular/common: 2.4.9
@angular/compiler: 2.4.9
@angular/core: 2.4.9
@angular/forms: 2.4.9
@angular/http: 2.4.9
@angular/platform-browser: 2.4.9
@angular/platform-browser-dynamic: 2.4.9
@angular/router: 3.4.9
@angular/cli: 1.0.0-rc.0
@angular/compiler-cli: 2.4.9
12
Ubaid Azad

--deploy-urlを使用して、生成された静的ファイルのパスのプレフィックスを付けることができます。 ng build -d /static/。生成されたindex.htmlでは、次のようにjsファイルのパスの前に/static/を付けます。

<script type="text/javascript" src="/static/inline.bundle.js"></script>

ヘルプドキュメントから:

--deploy-url (String) URL where files will be deployed.
    aliases: -d <value>, --deployUrl <value>
11
Harshveer Singh

angular CLI6.1.1の使用

これが私のやり方です。ビルドフラグを使用する必要があります--base-href

ng build --prod --base-href=/dist/my-app/

そして私はこのようなサイトにアクセスしますhttp://127.0.0.1:5500/dist/my-app/index.html

公式ドキュメントリファレンス ここ

1
kiranvj