Node.js: Wie setze ich eine Umgebungsvariable in 1 Datei fest, um alle anderen zu lesen?
Posted: 07 Apr 2025, 05:04
Ich habe eine Reihe von Dateien, die verschiedene Tests ausführen und Ergebnisse in eine Protokolldatei zurückgeben. Zu diesem Zweck muss ich den Namen der Datei in einer Variablen in der Datei speichern, die alle Tests auslöst () und stellen Sie es den Funktionen in meiner Helper-Funktion zur Verfügung. Nachfolgende Updatelogs () Funktion, die exportiert wird () zu anderen Dateien kann nicht. Ich vermute, die anderen Dateien sind einfach nicht "bewusst" der Umgebungsvariablen. (Hinweis: Aufgrund von Sicherheitsbeschränkungen kann ich keine Pakete von Drittanbietern verwenden, um dies zu erreichen.)
Code: Select all
main.js
Code: Select all
module.exports = {updateLogs}
Code: Select all
//main.js
const d = new Date();
const logName = "fooBar";
process.env.LOGFILE = logName + "-" + d.getDay() + "-" + d.getMonth() + "-" + d.getFullYear() + ".json";
createLogs(logName);
// Running tests on other files...
< /code>
Helper-funktions.js
//If I uncomment the below it works, but file name is hard coded.
//process.env.LOGFILE = "customLogs.json";
//Create log file when scripts are first run
const createLogs = (logName) => {
exec('git branch --show-current', (err, stdout, stderr) => {
if (err) {
console.log("Error getting git branch:" + stderr);
}
const startTime = ((Date()).toLocaleString()).split('GMT')[0];
const branchName = stdout ? stdout.replace(/(\r\n|\n|\r)/gm,"") : "no-branch";
let repObjString = `{"details":{"name": "${logName}","time": "${startTime}","branch": "${branchName}"},"report":{}}`;
const logFileName = `logs/${process.env.LOGFILE}`; // {
const logName = `logs/${process.env.LOGFILE}`; //