![translation](https://cdn.durumis.com/common/trans.png)
Ini adalah postingan yang diterjemahkan oleh AI.
Pilih Bahasa
Teks yang dirangkum oleh AI durumis
- Di Next.js, .env diatur pada saat build, tetapi terkadang perlu untuk mengatur variabel lingkungan sesuai dengan lingkungan produksi (local, dev, qa, prod) setelah build.
- Pengguna Windows tidak dapat menggunakan skrip berbasis Unix yang ada, jadi cross-env harus diinstal untuk menulis skrip yang berfungsi di lingkungan Windows dan Unix.
- Cross-env diterapkan ke perintah start dan dev untuk mengatur variabel lingkungan, dan skripnya diringkas untuk meningkatkan keterbacaan.
Dalam Next.js, .env di-hardcode selama proses build.
Namun, terkadang ada kebutuhan untuk mengatur env saat menjalankan build image, bukan saat build.
Biasanya, ini dilakukan untuk local, dev, qa, dan prod.
Jadi, bagaimana kita bisa melakukan itu?
Kebanyakan konteksnya mirip dengan artikel di bawah ini.
Namun, artikel tersebut tidak mempertimbangkan Windows.
Artikel tersebut menggunakan sintaks Unix dalam script package.json.
Ini berarti bahwa pengguna Windows yang tidak menggunakan Unix yang kotor tidak dapat menggunakan script tersebut.
Oleh karena itu, pengguna Windows yang bersih dan peduli harus mempertimbangkan pengguna Unix dengan menyertakan script yang dapat dijalankan dengan baik di kedua OS.
Solusi ini sederhana.
Cukup tambahkan script yang melakukan hal yang sama dengan sintaks tersebut.
Instal cross-env dengan perintah di atas.
Dan ubah perintah start yang disebutkan sebelumnya dengan perintah berikut.
Namun, script tersebut terlalu panjang dan sulit dibaca, dan harus diterapkan pada perintah dev juga.
{
"dev": "npm run _env:-local && next dev",
"dev:dev": "npm run _env:dev && next dev",
"start": "npm run _env:-local && next start",
"_env:-local": "cross-env-shell node ./utils/cli.js next-env -e $APP_ENV",
"_env:dev": "node ./utils/cli.js next-env -e dev"
Oleh karena itu, saya meringkasnya seperti yang ditunjukkan di atas.