我是打字稿的新手,似乎无法在我的打字稿页面中访问我的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
并且我需要的环境变量不存在......奇怪的
答案 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