Angular 2とFirebaseを使用してWebアプリケーションを作成しています。本番モードを有効にしたいのですが。
main.ts
if (environment.production) {
enableProdMode();
}
environment.ts
export const environment = {
production: true
};
environment.prod.ts
export const environment = {
production: true
};
次に、ng build -prodを試しました。 ng serveですが、まだ機能しません。
前もって感謝します。
ng build --prod
は/dist
フォルダーにビルドアーティファクトを作成します-それらのファイルを別のWebサーバーに配置する必要があります(つまり、その後はng serveを使用しません) 。
ng serve
を使用してアプリを実行するだけで、プロダクションモードを使用する場合は、次を使用します。
ng serve --prod
編集
私はこれをうまく説明できていないようです。あなたの要求は「生産モードを有効にする」ことです。何をしようとしているかに応じて、2つの方法があります。
Angular-cli開発サーバーを使用してアプリを本番モードで実行し、本番モードが適切に機能するかどうかをテストする場合は、次のコマンドを使用します。
ng serve --prod
ただし、アプリを本番ウェブサーバーにデプロイする準備ができている場合は、2段階のプロセスです。
次のコマンドを使用して、アプリの製品版を生成します:ng build --prod
/dist
フォルダーの出力をプロダクションWebサーバーにコピーします。
私は両方をしないことに注意してください-私が達成しようとしていることに応じて、ng build
またはng serve
のどちらかを使用します。
ng serve --prodが機能しませんでした。
これはところで働いた:)
ng serve --configuration=production
デプロイされたサーバーで動作するのと同じように動作するテスト本番サーバーを作成します。私はenvironment.jsでこのテストを試しました(他のすべてのソリューションは私のために機能しませんでした)
this (Angular Environmentalist)になるための記事)に従って、Angular環境についての詳細を学ぶことができます。
私はangular-cli 1.0.0-beta.28.3
でこれを観察しました。 dist
はng-serve
に表示されなくなります。ビルドを維持したい場合は、ng build --output-path=last-build/
を試して この問題 を確認してください。
ただし、build
を作成した後でng serve --prod
を実行する必要はありません。 @snorkpeteが言っているように、ビルドをWebサーバーに作成した後、dist
フォルダーをコピーしてください。そして、あなたのウェブサーバーがアプリを実行します。 Remeber, you will have to create a virtual Host for this
。しかし、ローカルマシンで実行したいだけで、ライブのwebpack
が必要な場合は、ng serve --prod
を実行するだけです。ライブのwebpack
は、お持ちのdist
とは何の関係もありません。