開発中か本番中かによって、異なるキーを設定する必要があります。固有のランタイム環境を持たないクライアント側でこれを行う良い方法は何ですか?
ありがとう!
開発中か本番中かによって、異なるキーを設定する必要があります。固有のランタイム環境を持たないクライアント側でこれを行う良い方法は何ですか?
ありがとう!
1 つの方法は、環境変数をサーバーからクライアントのグローバル名前空間に挿入することです。
たとえば、PHP でこれを行っていた場合:
<script>
var env = <?php echo $your_env_variable; ?>; // globally accessible variable
</script>
これで、そのスクリプト タグの後に実行される任意の JavaScript ファイルからその環境変数にアクセスできます。
ノードでは、同じことを行いますが、テンプレート (Jade など) を使用します。
script(type='text/javascript').
var env = passedInEnvVar
nodejs で環境を指定する「公式」の方法は、「NODE_ENV」を使用することです。HTMLコンテンツを提供するために使用しているフレームワークについて言及していないので、答えにはexpressjsを使用します。
これは、ビュー テンプレートで簡単に実行できます (私は EJS を使用しています)。
var key = '<%= keys[process.env.NODE_ENV] %>'
各環境に対応するキーのセットを用意する必要があります
var keys = {
'development': 'dev-key',
'production': 'prod-key'
}
別のスクリプトをロードしてみませんか?http://example.org/script.js?development=1などのGETパラメータに基づいて動的にスクリプトを作成し、PHPなどのサーバー側言語を使用してそのパラメータに基づいてコードの内容を変更できます。
Webサーバーで書き換えルールを使用して、見栄えを良くすることもできます。