@lukeの答えは私が必要とするもののほとんどでした!ありがとう。
選択された回答は非常に単純(かつ正しい)ですが、古いので、スクリプトの実行時に.env個別のファイルから変数をインポートし、Lukeの回答に対するいくつかの制限を修正するための代替手段を提供したいと思います。これを試して:
::: .envファイル:::
# This way, you CAN use comments in your .env files
NODE_PATH="src/"
# You can also have extra/empty lines in it
SASS_PATH="node_modules:src/styles"
次に、パッケージjsonで、変数を設定して必要なスクリプトの前に実行するスクリプトを作成します。
::: package.json :::
scripts: {
"set-env": "export $(cat .env | grep \"^[^#;]\" |xargs)",
"storybook": "npm run set-env && start-storybook -s public"
}
いくつかの観察:
grepされたcatコマンドの正規表現は、コメントと空の行をクリアします。
&&
する必要はありません。「糊付け」にnpm run set-env
は、同じコマンドで変数を設定した場合、それは必要とされるであろうと、。
ヤーンを使用している場合、警告が表示される場合があります。変更するyarn set-env
か、npm run set-env --scripts-prepend-node-path &&
代わりに使用することができます。
異なる環境
使用する際のもう1つの利点は、さまざまな環境変数を使用できることです。
scripts: {
"set-env:production": "export $(cat .production.env | grep \"^[^#;]\" |xargs)",
"set-env:development": "export $(cat .env | grep \"^[^#;]\" |xargs)",
}
キー、パスワード、または機密データ/個人データが含まれている場合は、gitリポジトリに.envファイルを追加しないでください。