我最近使用.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