2017-08-03 6 views
0

渡されたコマンドライン変数を使用して私のEmberアプリケーションのindex.htmlを直接変更したいのですが、私のenvironment.jsファイルで 'ENV'の下に設定することができます。 ENVをインポートしてjsファイルを作成します。しかし、私のindex.htmlファイルでは、 "rootURL"変数でもこれらの変数は表示されません。たとえば、rootURL: "/blah"var1: "/blah2"をENVに設定した場合、a href={{rootURL}}a href = {{var1}}のようなものがある場合、最初のリンクは2番目のリンクが機能しないときに機能します。Emberアプリケーション、特にindex.htmlにグローバル変数を使用する方法は?

私は{{rootURL}}がENV変数から直接来ていないと思っていますが、どこから来たのかわかりません。私は 'app.js'の変数と同様のことをしようとしていましたが、私はこの行について混乱しています:import config from './config/environment';これは正確に何をインポートしますか? environment.jsに "config"という名前のものが見つかりません。そのファイル(app.js)にグローバル変数を設定することはできますか?

+1

なぜindex.htmlを変更しますか?私は間違っているかもしれないが、私はあなたがそれをする必要があるとは思わない。 – Cameron

+0

index.htmlを変更する理由は何ですか?すべてのルートにアンカー要素を表示する場合は、application.hbsを変更できます。 – ykaragol

答えて

0

私は私のインデックスに変数を使用するember-cli-inline-contentを使用していますので、私はそのような資産の環境(本番またはDEV)に応じて、いくつかのURLを変更することができます。

:私の ember-cli-build.jsファイルで

<link rel="stylesheet" href="{{content-for 'ASSETS_BASE_URL'}}/xxx/yyy/assets/vendor.css"> 

if (app.env === 'development') { 
    app.options.inlineContent = { 
    ASSETS_BASE_URL: { 
     content: 'http://lvh.me:8080' 
    } 
    }; 
} 

if (app.env === 'production') { 
    app.options.inlineContent = { 
    ASSETS_BASE_URL: { 
     content: 'https://assets.mydomain.com' 
    } 
    }; 
} 
関連する問題