2017-01-28 5 views
0

私はアプリケーションを構築するために角CLIを使用しています。別の環境で異なるキーを使ってindex.html(ルート)レベルのアプリケーションにスクリプトをロードする必要があります。環境に基づいた角2 CLIロードスクリプト

...  
<script src="http://myAPI?key=dev"></script> <!-- dev build --> 

<script src="http://myAPI?key=prod"></script> <!-- prod build --> 

<my-root>Loading...</my-root> 
... 

インデックスページからCLI環境変数にアクセスする方法を教えてください。いくつかのようになります:key = <%= env%>?

答えて

0

index.htmlに余分なスクリプトタグを読み込む必要はありません。外部のスクリプトやCSSライブラリをロードする必要がある場合は、angular-cli.jsonファイルに入れてください。この

"styles": [ 
    "../node_modules/bootstrap/dist/css/bootstrap.min.css", 
    "assets/css/font-awesome.min.css", 
    "styles.scss" 
], 
"scripts": [ 
    "../node_modules/jquery/dist/jquery.min.js", 
    "../node_modules/bootstrap/dist/js/bootstrap.min.js" 
], 

そして、あなたのng serve

+0

お返事ありがとうございますが、どのように環境を設定できますか?例:devにjquery10.jsをロードしたいが、製品環境ではjquery11.jsだけをロードする。 –

+0

には、必要なバージョンだけが含まれています。 ng build --prodコマンドでアプリケーションをビルドする前に、angular-cli.jsonファイルで変更してください。 –

0

を再起動するように私は、次のような行を追加することindex.tsを修正することになった:

document.write('<link rel="stylesheet" href="' + environment.mediaBaseUrl + '/css/bs3-custom-theme.min.css"/>'); 

問題を任意のファイルは、アプリケーションの後にロードされるということです。 CSSの場合はFOUCsになります。

関連する問題