Rumah > Artikel > hujung hadapan web > Fail Node.js v .env, modul import dan Model Kebenaran
Node.js v20.6 telah dikeluarkan dengan ciri baharu yang menakjubkan yang merupakan sebahagian daripada versi LTS mulai 24 Oktober 2023. Mari lihat!
Ucapkan selamat tinggal kepada pakej dotenv, kini Node.js boleh memuatkan pembolehubah persekitaran daripada fail .env.
node --env-file path/to/.env index.js
? Laluan ke fail INI diperlukan kerana Node.js tidak memilih nama lalai untuk fail INI.
? Jika fail INI tidak wujud, proses nod tidak gagal, mulakan sahaja tanpa pembolehubah persekitaran.
Anda boleh memuatkan pembolehubah persekitaran khusus Node.js (seperti NODE_OPTIONS) menggunakan fail konfigurasi INI seperti contoh berikut:
NODE_NO_WARNINGS=1 NODE_OPTIONS="--experimental-permission --allow-fs-read=*" TZ=Pacific/Honolulu UV_THREADPOOL_SIZE=5
Anda boleh menggunakan ini dengan kaedah yang sama:
node --env-file .env index.js
Pramuat modul ES semasa permulaan menggunakan bendera --import, modul akan dimuatkan sebelum sebarang kod aplikasi dijalankan, malah titik masuk.
node --import path/to/file.js index.js
Bendera ini serupa dengan bendera yang terkenal --require flag yang digunakan untuk memuatkan modul CommonJS.
? Modul yang dipramuat dengan --require akan dijalankan sebelum modul dipramuat dengan --import.
Kami mempunyai mekanisme baharu untuk menyekat akses kepada sumber tertentu semasa pelaksanaan proses Node.js yang dipanggil Model Kebenaran. API wujud di sebalik bendera --permission-experimental yang, apabila didayakan, akan menyekat akses kepada semua sumber yang tidak dibenarkan secara eksplisit.
Bendera --allow-fs-read membenarkan semua operasi FileSystemRead menggunakan *, atau ke laluan tertentu menggunakan laluan mutlak.
node --experimental-permission --allow-fs-read=* index.js
Untuk membenarkan akses kepada laluan tertentu sahaja anda harus menggunakan laluan mutlak
node --experimental-permission --allow-fs-read=/path/to/index.js --allow-fs-read=/path/to/directory index.js
? Modul pemula juga perlu dibenarkan. Jika tidak, fail index.js tidak boleh dimuatkan oleh proses Node.js itu sendiri.
? Anda boleh menggunakan . untuk membenarkan akses kepada direktori kerja, tetapi anda tidak boleh menggunakannya untuk menentukan laluan ke fail (cth. ./index.js).
node --experimental-permission --allow-fs-read=. index.js
Bendera --allow-fs-write membenarkan akses kepada laluan tertentu atau keseluruhan sistem fail menggunakan *.
node --experimental-permission --allow-fs-read=. --allow-fs-write=/tmp/ index.js
Apabila Model Kebenaran didayakan, proses itu tidak akan dapat menghasilkan sebarang proses anak secara lalai, anda harus menggunakan --allow-child-process untuk membenarkan operasi ini. Mari gunakan kod berikut untuk index.js.
const childProcess = require('node:child_process'); childProcess.spawn('node', ['-e', 'require("fs").writeFileSync("./new-file.txt", "Hello, World!")']);
Untuk menjalankan coretan ini dengan Model Kebenaran didayakan, anda harus melaksanakan index.js menggunakan arahan berikut:
node --experimental-permission --allow-fs-read . --allow-child-process index.js
? Proses anak tidak mewarisi Model Kebenaran secara lalai, itulah sebabnya new-file.txt berjaya dibuat.
Anda boleh menyemak bendera --allow-worker jika anda ingin mencipta Benang Pekerja di bawah Model Kebenaran ini dan --allow-wasi untuk membenarkan penciptaan tika WASI
Kami mempunyai banyak alatan baharu untuk memuatkan pembolehubah persekitaran untuk aplikasi kami, kaedah untuk mengimport pramuat modul ES yang diperlukan dalam kod kami dan Model Kebenaran baharu untuk meningkatkan keselamatan sistem kami.
Nantikan blog Node.js, pasukan ini menambah ciri hebat dalam setiap versi! Kami mempunyai sokongan TypeScript awal dan Pemeriksaan Rangkaian menggunakan DevTools dalam v22.6.0.
Atas ialah kandungan terperinci Fail Node.js v .env, modul import dan Model Kebenaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!