2016-12-14 3 views
1

私は最近、.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); 
 
    }); 
 
});

そして(dotenvなし)私のpackage.json:

{ 
    "dependencies": { 
     "aws-sdk": ">= 2.0.9", 
     "node-uuid": ">= 1.4.1" 
    } 
} 

だけ考え、それが関連している可能性が

は、ここに私の 'アプリ' です私はnode simple.jsでコマンドラインから私のアプリケーションを実行しているという事実?もしそうなら、理由を説明できますか?

+0

私が気づいているわけではありませんが、私が作業しているほぼすべてのプロジェクトで '.env'ファイルを使用しています。私はパッケージを追加せずに作業していると思ったときに何か他のものがあったかもしれないと思います。 – dvlsg

+0

ええと、私はあなたを信じる傾向がありますが、私の「アプリ」は単純です。上記の全体を私のpackage.jsonと共に投稿します – maxwell

+0

グローバルに定義された環境変数や、端末起動アプリケーションでも環境変数が定義されていないことを確認してください。あなたのために話すことはできませんが、私は間違いなく前に間違いを犯しました。 – dvlsg

答えて

2

いいえ、Node.jsは自動的に.envファイルを読み込みません。何が起こっているのかについて

可能な解釈

  • おそらく、あなたがプログラムを実行する前に、すでにあなたのシェルで設定されている使用している環境変数。

  • おそらく、あなたのAWS認証情報が、あなたのマシンによって別の方法で保存/利用されている可能性があります。 (私たちのコメントの会話に基づいて、これはあなたの場合のように見えますが、似たようなものを見ている他の人に一般的に役立つ他のものも含めています)。 .envファイル。


@maxwellから

推奨追加情報:

AWS CLIのヘルプページは、設定値の優先順位があることを示している:

  • コマンドラインオプション
  • 環境変数
  • 設定ファイル

@maxwellの設定ファイルから情報が出てきたようです。

+0

ええ - 第2の答えです。おそらく私はaws cliのヘルプページからあなたの答えまで見つかったこの行を追加します。 Oコマンドラインオプション O環境変数 O構成ファイル ' – maxwell

+0

追加情報、感謝: ' 優先 上記の設定値は、次の優先順位を持っています。私が何とかそれを台無しにしたら、見てみよう。 – Trott

+0

は私にとって素晴らしい。 – maxwell

関連する問題