angle-cliツールの--base-hrefパラメーターと--deploy-urlパラメーターの違いは何ですか


93

Angularのドキュメントには--base-href、サーバーのサブフォルダーにデプロイするときに、本番用のAngularアプリケーションビルドでパラメーターを使用する必要があることが記載されています。

ファイルをサーバーサブフォルダーにコピーする場合は、ビルドフラグを追加し --base-href<base href>適切に設定します。

たとえば、index.htmlがのサーバー上にある場合は/my/app/index.html、ベースhrefを次の<base href="https://stackoverflow.com/my/app/">ように設定します。

https://angular.io/guide/deployment

ただし、angular-cliには--deploy-urlパラメーターがあります。ツールのドキュメントでは、次のように説明されています。

ファイルがデプロイされるURL。

https://github.com/angular/angular-cli/wiki/build

アプリケーションがサーバーのサブフォルダーにデプロイされるときの--deploy-url意図を使用するソリューションを見てき--base-hrefました。

質問

角度CLIツールのパラメータ--base-hrefとの違いは何--deploy-urlですか?それぞれをいつ使用する必要がありますか?

回答:



28

スクリプトを「/ test / app1 / script /」フォルダー内に配置するには、次のコマンドを使用します。

ng build --prod --base-href /test/app1/ --deploy-url /test/app1/script/

したがって、私のアプリはhttps://example.com/test/app1/からアクセスできますが、JSスクリプトとCSSはhttps://example.com/test/app1/script/ディレクトリにあります


これは素晴らしい答えですが、モジュールの遅延読み込みに影響を与える可能性があることに注意してください。例: { path: 'myModule', loadChildren: () => import( './myModule/my.module' ).then( m => m.MyModule ) }
KenHadden20年

11

/ usersをルーターのアプリケーションベースとして使用し、/ publicをアセットのベースとして使用する場合。

ng build --prod --base-href /users --deploy-url /public 

詳細な例については、ShekharGulatiのブログを参照してください...


私はこのスレッドをこの問題と同じようにフォローしています。これが私のコマンドです: "ng build --watch = true --baseHref = / dist / --outputPath = D:\ application_root \ dist --deployUrl = / dist /"。私が言おうとしているのは、application_rootフォルダーからアプリを実行するということですが、フロントエンドのすべてのコードは「dist」サブフォルダーにあります。また、index.htmlをdistからrootにコピーする必要がありますか?
マーク

2
それはそうでは--base-href /users/ありません--base-href /users。(不足しているスラッシュ)
bvdb
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.