私はtypescriptを使い慣れています。私のtypescriptページのprocess.env変数にアクセスできないようです。それは範囲の問題だと思われますが、それは理にかなっていません。typescriptでノードのenv変数を取得する
yamlファイルから自分の環境変数を取得し、実行中のプロセスにそれらを添付します。
module.exports = function() {
const YAML = require('yamljs');
const envVars = YAML.load('env.yml')[process.env.NODE_ENV];
Object.keys(envVars).forEach(v => {
console.log('vars', v);
process.env[v] = envVars[v];
});
};
私はその後、私はloadYmlEnv
に各VARのためのコンソールを見ることができます
cross-env NODE_ENV=test node -e \"require('./setup-env')()\" && jasmine-ts **/*.spec.ts
とNPMで私のtypescriptですを実行するが、私は私のtypescriptですファイルからVARSをログコンソールしようとすると、それらはすべてです未定義。私はprocess.env
全体を吐き出すことができ、私が必要とするenv varsはそこにありません....奇妙な
あなたのタイスクリプトファイルは別のプロセスで実行しますか? https://nodejs.org/api/process.html#process_process_envこのオブジェクトを変更することは可能ですが、そのような変更はNode.jsプロセスの外部には反映されません。 – HMR
ええ、私はあなたが正しいと思います。私は彼らが1本の糸で走っていると思ったが、明らかにそうではなかった。私はテストの一部としてセットアップを含めましたが、それは理想的ではありません。 – pedalpete