問題タブ [dotenv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - dotenv が docker にロードされていないのに、ホスト マシンでは正常に動作するのはなぜですか?
node.js アプリケーションを実行する Docker イメージを構築したいと考えています。環境変数を保存するためにdotenv npm パッケージを使用しています。は.env
プロジェクトのルートにあります。npm run start_in_docker
ホスト マシンからアプリケーション ( ) を起動する npm スクリプトを実行すると、すべてが完全に機能します。ただし、Docker コンテナーを実行すると、次のエラーが発生します。
これは私の Dockerfile です:
これは、上記の Dockerfile を実行する私の docker-compose.yml ファイルです。
これは私の package.json スクリプト セクションです。
これがdotenv
私のmain.jsファイルで必要な方法です:
で絶対パスを指定しようとしまし('dotenv').config()
たが、うまくいきませんでした。奇妙なことに、コンテナ シェル ( docker run -it myimage /bin/ash
) を実行してから実行すると、npm run start_in_docker
それも機能します。dotenv
もちろん私のpackage.jsonにあります。
node.js - VS Code-debugger で、nodejs の launch.json で envFile を使用するにはどうすればよいですか?
nodejs アプリケーションの VS Code でデバッガーを実行しようとしています。.env ファイルを使用して、後で process.env で呼び出す環境変数を保存しています。launch.json の VS Code ドキュメントを調べたところ、.envFile を読み込むための envFile オプションについて言及されています。残念ながら、デバッガーを実行してもファイルが読み込まれません。
launch.json:
.env:
VS Code デバッガーを実行すると、.env ファイルに環境変数がありません。launch.json で .env ファイルを呼び出すにはどうすればよいですか?
機能するようになった後、さらに情報を追加する必要があります。
.env ファイルを環境変数のリストにすることになりました
.env ファイルの例:
私のnodejsワールドコンストラクターに、私は含めました
world.js の例:
そして、私が使用したhook.jsで:
launch.json はそのままにしました。