2017-04-06 3 views
0

私は異なるcostumersのために使用できるアプリケーションを持っているので、私は異なる方法でそれをパーソナライズする必要があり、costumerに依存します。
私は基本的にang-cli.jsonファイルに同じ設定でngビルドを起動する必要があります。

1)私が起動するときにangular-cli.jsonファイルを変更します。ビルド?
2)変数を渡して 'styles'フィールドと 'dist'フィールドを変更しますか?

今私は、自分のアプリケーションに変更を加えるたびに、すべてのcostumerのファイルを変更してビルドするたびに、すべてのビルドをカスケードで作成するスクリプトを作成したいと思います。ビルドによってはangle-cli.jsonをパーソナライズできない場合は不可能です。異なる角度のcli jsonまたはパス変数を設定する

UPDATE

私はこのlinkを発見したが、それを使用する方法?私はドキュメントhereを検索したが、私は理解していない、私はanguylar-cli.jsonのアプリケーション配列の下に声を追加する必要がありますか?または、私は別の配列をアプリケーションに似ている必要がありますか?

{ 
    "name":"app1", 
    "root": "src", 
    "outDir": "dist", 
    "assets": [ 
    "fonts", 
    "images", 
    "assets", 
    "favicon.ico" 
    ], 
    "index": "index.html", 
    "main": "main.ts", 
    "test": "test.ts", 
    "tsconfig": "tsconfig.json", 
    "prefix": "app", 
    "mobile": false, 
    "styles": [ 
    "paper.css", 
    "styles.css", 
    "style_app1.css" 
    ], 
    "scripts": ["../node_modules/chart.js/dist/Chart.bundle.min.js"], 
    "environments": { 
    "source": "environments/environment.ts", 
    "dev": "environments/environment.ts", 
    "prod": "environments/environment.prod.ts" 
    } 
}, 
{ 
    "name":"app2", 
    "root": "src", 
    "outDir": "dist2", 
    "assets": [ 
    "fonts", 
    "images", 
    "assets", 
    "favicon.ico" 
    ], 
    "index": "index.html", 
    "main": "main.ts", 
    "test": "test.ts", 
    "tsconfig": "tsconfig.json", 
    "prefix": "app", 
    "mobile": false, 
    "styles": [ 
    "paper.css", 
    "styles.css", 
    "style_app2.css" 
    ], 
    "scripts": ["../node_modules/chart.js/dist/Chart.bundle.min.js"], 
    "environments": { 
    "source": "environments/environment.ts", 
    "dev": "environments/environment.ts", 
    "prod": "environments/environment.prod.ts" 
    } 
} 

が、それはdist2に私は--appを構築NG起動whent何かを見つけることができませんでしたからだと動作しないことを言って:

UPDATEは2

これは私がアプリを下に持っているものですapp2

答えて

1

ファイル.angular-cli.jsonには、複数のアプリを持つことができる配列であるプロパティappsがあります。デフォルトでは、NGは例えば、そこにただ一つのエントリを生成します。

{ 
    "root": "src", 
    "outDir": "dist", 
    "assets": [ 
    "assets", 
    "favicon.ico" 
    ], 
    "index": "index.html", 
    "main": "main1.ts", 
    "polyfills": "polyfills.ts", 
    "test": "test.ts", 
    "tsconfig": "tsconfig.app.json", 
    "testTsconfig": "tsconfig.spec.json", 
    "prefix": "app", 
    "styles": [ 
    "styles.css"], 
    "scripts": [], 
    "environmentSource": "environments/environment.ts", 
    "environments": { 
    "dev": "environments/environment.ts", 
    "prod": "environments/environment.prod.ts" 
    } 
}, 

上記アプリのセクションには、アプリをあなたのブートストラップコードを含むmain1.tsを定義します。ブートストラップコードがmain2.tsにある同じプロジェクトに別のアプリがある場合は、上記の設定を繰り返す必要がありますが、 "main" = "main2.ts"です。これで、2つのアプリケーションの配列が作成され、対応する配列インデックスを使用してどちらかを作成できます。

ng build --app 0 

または

ng build --app 1 

また、例えば、アプリの設定にプロパティ "名前" を追加することができます

"apps": [ 
    { "name":"app1", 
     "root": "src", 
     "outDir": "dist", 
     ... 

と、次のようにビルドを実行します。

ng build --app app1 
+0

あなたが言うように、私が行っているが、それは動作しません。 – mautrok

+0

どのように動作しませんか?エラーメッセージとは何ですか? Angular CLI 1.0.0を使用していることを確認してください –

+0

エラーメッセージは表示されません。変更すると無視されます。 – mautrok

関連する問題