2017-03-12 11 views
0

ng-serveコマンドを設定して、静的なhtmlファイルをルートディレクトリに提供する方法はありますか?サブディレクトリに角型アプリケーションを提供する方法はありますか?サブディレクトリに角型アプリケーションを作成する


私は角2アプリを開発していて、SEO上の理由から、私は、ルートディレクトリから静的なページを提供しながら、サブディレクトリに実際のアプリケーションをホストします。私は<base>サブディレクトリに生きることができる角度アプリの製品版を作成しますが、これは私が個別に角度アプリを開発する必要があり、その後、インポート意味ng build --base-href <base>を見つけたこの

./ 
    About.html 
    Home.html 
    Contact.html 
    /app 
     app.html //Angular app goes here 

ような何か最終的なプロジェクトに出力します。私はangualr-cliの解決策を望んでいますが、私はどんなアイディアにもオープンしています。

答えて

2

実現したように、ng build --base-href <base>オプションを使用すると、ウェブサイトの<base>ディレクトリから正常に動作する方法を知っているアプリのプロダクションビルドを作成できます。これはパズルの一部です。サーバーのルート以外のフォルダからAngularを実行できるように設定します。

第2ステップでは、Angular CLIセットアップを設定して、ビルドファイルを正しい場所に配置します。これを手動で行うことができます。ng-cliアプリを完全に別のフォルダに置き、作成した後、Angularアプリの/ distフォルダにあるアーティファクトをウェブサイトのディレクトリ構造にコピーします。これは手動による方法です。このコンテキストでは、角度アプリケーションの/ distフォルダ内の項目は、基本的にWebサーバーの視点からの静的コンテンツであり、そのように扱うことができます。

もう1つの方法は、angular-cli.jsonを調べて、必要に応じてapps[0].outDir設定オプションを変更することです。 outDirオプションは、ng buildコマンドの出力先を指定します。デフォルトでは/distに設定されていますが、必要に応じて変更することができます。

./public 
    About.html 
    Home.html 
    Contact.html 
    /app 
     app.html //Angular app BUILD OUTPUT goes here 
/angular-app // Angular app source code 

私は私の角度アプリのangular-cli.json angular-で、outDirがあること../public/app

を指しているように構成していることができます。私はこのような構造を持っているのであれば、例えばのために、

cli.json

app: [ { 
    "root": "src", 
    "outDir": "../public/app", 
    ...... 
} ] 
+0

ああ、私は考えていると思います。私は角度アプリを '/ angular-app'ディレクトリに展開することができます。それで、私が見ている視点からアプリケーションをテストしたいときは、適切なディレクトリにアプリケーションを構築して、すべてのルートに対応するノードサーバーを実行します。助けてくれてありがとう! –

関連する問題