我最近使用.env文件设置了一个简单的项目,并在我的代码中用process.env。[变量名称]调用了env变量,它完全可以工作,不需要将dotenv包添加到我的项目中。Dotenv仍然是6.x.x节点的必备软件包吗?
节点是否并入了本机?我尝试了谷歌搜索,但它没有提供任何有用的信息,所以我有点困惑。认为这很容易确认或否认。
这里是我的 '应用':
// Load the SDK and UUID
var AWS = require('aws-sdk');
var uuid = require('node-uuid');
// Create an S3 client
var s3 = new AWS.S3({
region: 'us-east-1',
accessKeyId: process.env.AWS_ACCESS_KEY_ID,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
});
// Create a bucket and upload something into it
var bucketName = 'node-sdk-sample-' + uuid.v4();
var keyName = 'hello_colorado.txt';
s3.createBucket({Bucket: bucketName}, function() {
var params = {Bucket: bucketName, Key: keyName, Body: 'Coloradoical!'};
s3.putObject(params, function(err, data) {
if (err)
console.log(err)
else
console.log("Successfully uploaded data to " + bucketName + "/" + keyName);
});
});
而我的package.json(不dotenv):
{
"dependencies": {
"aws-sdk": ">= 2.0.9",
"node-uuid": ">= 1.4.1"
}
}
只是一个想法,可以说,它是关系到事实上,我正在从node simple.js
的命令行运行我的应用程序?如果是这样,你能解释为什么吗?
不是我意识到的,我几乎在每个项目中都使用'.env'文件。我认为当你认为它没有添加软件包的时候,可能会有其他的东西在起作用。 – dvlsg
嗯我会倾向于相信你,但我的'应用程序'是简单的。将发布它的全部以及我的package.json – maxwell
请确保您没有任何全局定义的环境变量,或终端启动应用程序。不能为你说话,但我以前肯定犯过这个错误。 – dvlsg