Rumah > hujung hadapan web > tutorial js > Daripada JSON kepada Pembolehubah Persekitaran: Memperkenalkan json-to-env-converter

Daripada JSON kepada Pembolehubah Persekitaran: Memperkenalkan json-to-env-converter

Barbara Streisand
Lepaskan: 2025-01-02 17:54:39
asal
913 orang telah melayarinya

From JSON to Environment Variables: Introducing json-to-env-converter

Hai! Ini adalah artikel pertama saya (jadi tenangkan saya dalam komen?). Saya teruja untuk berkongsi projek kecil yang saya telah kerjakan yang datang daripada keperluan peribadi. Jika anda pernah bergelut dengan mengurus konfigurasi dalam aplikasi Node.js anda, anda mungkin mendapati pakej pergantungan sifar kecil ini menarik. Ia dipanggil json-to-env-converter.

Apakah itu json-to-env-converter?

json-to-env-converter ialah pakej npm yang menukar objek JSON kepada pembolehubah persekitaran. Ia adalah alat ringan yang direka untuk membantu anda mengendalikan konfigurasi berasaskan JSON dengan menukarnya kepada pembolehubah persekitaran dan menyuntiknya ke dalam process.env; ia bertujuan untuk senario di mana konfigurasi mungkin dinamik, bersarang atau diperoleh daripada API atau sistem luaran.

Inilah ideanya: Daripada menetapkan pembolehubah persekitaran secara manual untuk konfigurasi kompleks atau dinamik, anda boleh memuatkannya secara pemrograman daripada objek JSON dan mengaksesnya sama seperti mana-mana pembolehubah persekitaran yang lain.

Mengapa Saya Membinanya?

Baru-baru ini saya telah membina api rahsia dan untuk setiap projek yang saya sedang kerjakan secara peribadi; Saya memanggil api rahsia saya untuk mendapatkan konfigurasi saya semasa runtime yang disediakan dalam format json. Juga apatah lagi dalam konfigurasi aplikasi moden dan besar boleh berubah bergantung pada lokasi pengguna, atau faktor dinamik lain. Walaupun fail .env bagus untuk persediaan statik, ia tidak mudah dikendalikan:

  • Struktur bersarang: Meratakan JSON bersarang ke dalam pembolehubah persekitaran boleh menjadi membosankan.
  • Sumber dinamik: Memuatkan konfigurasi pada masa jalan tanpa memulakan semula apl adalah tidak mudah.

Saya membina json-to-env-converter untuk meneroka cara untuk menangani isu ini sekali lagi ia lebih kepada projek untuk kegunaan peribadi dan ia pastinya tidak bertujuan untuk menggantikan alat seperti dotenv, sebaliknya untuk mengendalikan kes penggunaan yang sedikit berbeza ; dan saya fikir apa salahnya menjadikannya sumber terbuka dan menerbitkannya secara terbuka di npm dan saya sangat gembira jika sesiapa mendapati menggunakannya.

Cara Ia Berfungsi

Pasang pakej daripada npm:

npm i json-to-env-converter
Salin selepas log masuk
Salin selepas log masuk

Berikut ialah contoh mudah untuk menunjukkan fungsinya:

Contoh Asas

import { jsonToEnv } from 'json-to-env-converter';

const config = {
  database: {
    host: 'localhost',
    port: 5432,
  },
};

jsonToEnv(config);

console.log(process.env.DATABASE_HOST); //Output: 'localhost'
console.log(process.env.DATABASE_PORT); //Output: '5432'
Salin selepas log masuk
Salin selepas log masuk

Ini mengambil objek JSON dan menukarnya kepada pembolehubah persekitaran. Ia juga meratakan kunci bersarang, jadi database.host menjadi DATABASE_HOST.

Menambah Awalan

Untuk mengelakkan perlanggaran, anda boleh menambah awalan:

jsonToEnv(config, { prefix: 'MYAPP_' });

console.log(process.env.MYAPP_DATABASE_HOST); //Output: 'localhost'
Salin selepas log masuk

Kes Penggunaan: Konfigurasi Dinamik

Satu kes penggunaan yang berpotensi untuk pakej ini ialah mengendalikan konfigurasi dinamik. Sebagai contoh, bayangkan anda mempunyai aplikasi global yang mengambil tetapan khusus rantau pada masa jalan. Daripada mengurus fail .env secara manual untuk setiap rantau, anda boleh memuatkan tetapan yang betul secara dinamik berdasarkan lokasi pengguna:

npm i json-to-env-converter
Salin selepas log masuk
Salin selepas log masuk

Ini membolehkan apl anda menyesuaikan konfigurasinya tanpa memerlukan dimulakan semula atau nilai berkod keras.

Perlukah Anda Menggunakannya?

Sejujurnya, saya masih memutuskan sejauh mana pakej ini berguna secara meluas. Jika anda sudah selesa dengan fail .env dan konfigurasi statik, anda mungkin tidak memerlukan alat ini. Tetapi jika anda bekerja dengan:

  • Persekitaran dinamik yang mana konfigurasi berubah pada masa jalan
  • Objek JSON bersarang yang perlu ditukar kepada pembolehubah persekitaran rata
  • Persediaan konfigurasi terprogram yang diperoleh daripada API atau perkhidmatan luaran

dan tidak berpuas hati dengan persediaan semasa anda maka json-to-env-converter mungkin menjimatkan masa anda dan patut dicuba.

Pemasangan dan Maklum Balas

Jika anda ingin mencubanya, anda boleh memasangnya daripada npm:

import { jsonToEnv } from 'json-to-env-converter';

const config = {
  database: {
    host: 'localhost',
    port: 5432,
  },
};

jsonToEnv(config);

console.log(process.env.DATABASE_HOST); //Output: 'localhost'
console.log(process.env.DATABASE_PORT); //Output: '5432'
Salin selepas log masuk
Salin selepas log masuk

Saya ingin mendengar pendapat, maklum balas anda atau yang paling penting cadangan untuk penambahbaikan, jadi jangan ragu untuk menyebut dalam ulasan di sini atau serahkan permintaan tarik pada repo github saya https://github.com/neenus/json-to -env. Ini adalah pengalaman pembelajaran untuk saya dan saya teruja untuk melihat ke mana ia pergi.

Oh dan satu lagi... terima kasih kerana membaca artikel pertama saya!

Atas ialah kandungan terperinci Daripada JSON kepada Pembolehubah Persekitaran: Memperkenalkan json-to-env-converter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan