【发布时间】:2016-08-12 02:20:18
【问题描述】:
我在使用 Gulp 的构建过程中设置环境变量,但是一旦我的应用启动,这些环境变量就是空白的。
gulpfile.js
gulp.task('build', function() {
if (fileExists('.env.json')) {
console.log('Setting environment variables');
env({
file: '.env.json',
vars: {"DB_NAME": "nbadbtest"}
});
console.log("DB_NAME=%s", process.env.DB_NAME); // DB_NAME=TestDB
} else {
console.log('.env.json file not found. Not setting environment variables.')
}
var tsProject = ts.createProject(path.resolve('./tsconfig.json'));
var tsResult = tsProject.src().pipe(ts(tsProject));
return tsResult.js.pipe(gulp.dest('dist'));
})
在我的 gulp 任务中运行 env() 后,我可以看到 process.env.DB_NAME 设置为“TestDB”。
server.ts
console.log("DB_NAME=%s", process.env.DB_NAME); // DB_NAME=undefined
在 server.ts 中导入后,我立即再次记录 env var,但这次它是未定义的。
这是终端中的输出:
[22:06:28] 开始“构建”...
设置环境变量
DB_NAME=nbadbtest
[22:06:32] 3.26 秒后完成“构建”
> 节点 dist/server.jsDB_NAME=未定义
【问题讨论】:
-
仅供参考,我正在使用 Mac OS X El Capitan v10.11.6 中的 Visual Studio Code
标签: node.js gulp environment-variables