在typescript中获取节点env变量

时间:2017-11-28 03:40:38

标签: typescript environment-variables

我是打字稿的新手,似乎无法在我的打字稿页面中访问我的process.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];
    });
};

然后我用

在npm中运行我的打字稿
cross-env NODE_ENV=test node -e \"require('./setup-env')()\" && jasmine-ts **/*.spec.ts

我可以在loadYmlEnv中看到每个var的控制台,但是当我尝试从我的打字稿文件中控制日志时,它们都是未定义的。我可以吐出整个process.env并且我需要的环境变量不存在......奇怪的

1 个答案:

答案 0 :(得分:1)

cross-env NODE_ENV = test node -e \“require('./ setup-env')()\”&& jasmine-ts ** / * .spec.ts

这会创建一个将NODE_ENV设置为test

的过程

然后,您创建一个需要'setup-env'的不同流程,然后该流程退出

然后你运行只有NODE_ENV = test set up

的jasmine-ts