2016-04-28 6 views
3

バックエンドにAjaxコールを行うJavascriptフロントエンドがあります。これを行うには、Ajax get()コールでハードコーディングされた "backend_URL"が必要です(例えば、 "http://myservice/backend")。フロントエンドJavaScript設定変数を入れる場所

私は別のマシンにアプリケーションをデプロイする場合、HTTPSでこのURLを使用するものもあります(「https://myservice/backend」)。また、適切な証明書がなく、貴重なデータを公開しないためでもありません。

ここで、「USE_HTTPS = 1」設定変数を配置して、アプリケーションを配備している誰かがSSLを使用するかどうかを選択できるようにしますか?もちろん、この質問は他の設定変数にも及んでいます。

私はプロジェクトルートに「.config」ファイルを追加することを考えましたが、コード内でインポートする方法がわかりません。あるいは、環境変数をエクスポートする必要がありますか?またはnode.js機能ですか?

+0

これを知る必要があるのはクライアント側の**コードです –

+0

ファイルconfig.jsを作成し、クライアント側の設定を記述します。その中に。 configを読み込んだファイルの前にヘッダでインポートします。情報 –

+0

@ T.J.Crowderはい、クライアント側です。サーバー側では、HTTPまたはHTTPSのいずれかを受信するようにApacheを設定していますが、クライアントはそのことを知らないため、ヒントが必要です。 – JulienD

答えて

2

私はコンテンツ

window.CONFIG = { 
    SOME_CONSTANT = 22, 
} 

conf.jsファイルを書き終わったと、他のスクリプトの前に私のindex.htmlをの新しい<script>にそれが含まれています。 windowは必須ではありませんが、私はそれをwindow.CONFIGとして、JavaScriptの残りの部分で呼び出したときのものを示しています。

1
CONFIG = (function(){ 
var conf_info = {}; 
conf_info["url"] = 'http://codepen.io/pen/'; 
return{  
    getValue : function(param){ 
    return conf_info[param]; 
    } 
} 
})(); 

//some where in different file 
document.getElementById("result").innerHTML = CONFIG.getValue('url'); 
+0

これは助かりますが、読み込み可能な設定ファイル(grunt/gulp設定やjsonなど、コードセマンティクスなし)からまだ遠いです。人々にコード編集を依頼すれば、彼らはそれを気に入らないだろう。私はそのコードからjsonを読みますか? – JulienD

関連する問題