48

定数ファイルがあります

export class constants {
    public static get API_ENDPOINT(): string { return 'https://dvelopment-server/'; }
}

そして、それを自分のサービスにインポートしました

private _registrationUrl = constants.API_ENDPOINT+'api/v1/register';

server change で endpont を変更するにはどうすればよいですか。開発サーバーのステージング サーバーとローカル サーバーがあります。アプリに環境の変化を検出させたい。

angular 1 アプリでは、これに envserviceprovider を使用しました。angular 2 app で同じものを使用できますか?

4

6 に答える 6

71

簡単な答え: Angular CLIを使用します。これはベータ段階ですが、非常にうまく機能し、新しいプロジェクトを開始するために Angular チームによって推奨されています。このツールを使用すると、さまざまな環境を構成できます。ビルド時に、現在の CLI 環境に応じて がまたはsrc/client/app/environment.tsに置き換えられます。config/environment.dev.tsconfig/environment.prod.ts

環境のデフォルトはですが、 または のいずれかでフラグを使用devして製品ビルドを生成できます。これは新しい機能であるため、少し混乱する可能性があります。CLI を使用して Angular Environments をセットアップする方法に関する追加情報については、この優れたガイドを参照してください。-prodng build -prodng serve -prod

お役に立てれば。

于 2016-05-29T18:44:45.013 に答える
1

クラスメソッドを追加して問題を解決しました

export class config {

    public static getEnvironmentVariable(value) {
        var environment:string;
        var data = {};
        environment = window.location.hostname;
        switch (environment) {
            case'localhost':
                data = {
                    endPoint: 'https://dev.xxxxx.com/'
                };
                break;
             case 'uat.server.com':
                data = {
                    endPoint: 'https://uat.xxxxx.com/'
                };
                break;

            default:
                data = {
                    endPoint: 'https://dev.xxxx.com/'
                };
        }
        return data[value];
    }
}

私の奉仕では

private _loginUrl = config.getEnvironmentVariable('endPoint')+'api/v1/login;
于 2016-03-15T11:28:17.543 に答える