Saya ingin beralih pada daftar (dalam node.js) dari variabel env didefinisikan dalam .env.local.example, tanpa memuat variabel-variabel tersebut. (mereka tidak boleh mengganti variabel yang ada. )

Jadi, pada dasarnya saya ingin membacanya, haruskah saya menggunakan alat spesifik dot-env, atau bisakah saya mengambil parser YAML?

Saya tidak peduli dengan nilai-nilai, saya hanya peduli dengan tombol dalam file .env.local.example.

Jadi, mengingat .env.local.example berikut:

FAUNADB_SERVER_SECRET_KEY=
MAGIC_AUTH_SECRET_KEY=

Saya ingin mendapatkan array string ['FAUNADB_SERVER_SECRET_KEY', 'MAGIC_AUTH_SECRET_KEY'].

-1
Vadorequest 5 April 2021, 11:39

2 jawaban

Jawaban Terbaik

Jika Anda tidak ingin memuat .env.local.example Anda untuk menghindari penggantian variabel yang ada.

Coba gunakan fs, dengan bantuan regex.

Berikut ini contohnya:

const fs = require('fs');
const path = require('path');

let arr_env = fs.readFileSync(path.join(__dirname, '.env.local.example'), 'utf-8').match(/^[A-Za-z0-9_]+/gm);
console.log(arr_env);

// Expected Result: ['FAUNADB_SERVER_SECRET_KEY', 'MAGIC_AUTH_SECRET_KEY']
1
Techuila 5 April 2021, 09:45

Anda dapat mencoba

Console.log(Object.keys(process.env))

Tapi hanya berhati-hati, sistem lokal menambah variabel ekstra juga (seperti vscode menambahkan beberapa hal yang berbeda juga, yang ditambahkan dalam proses.env juga), jadi Anda mungkin mendapatkan variabel ekstra dari sistem Anda juga.

0
Ashish soni 5 April 2021, 09:38