Можно ли экспортировать динамические c данные в node js, например, module.exports = something ??
функции. js
let data = []; // I'm going to use .push() method to add the dynamic data to this array
// This is a GLOBAL VARIABLE
function multerFunction(req, res, filePath){
let newFileName; // Instantiating a variable to hold the new file name.
let expiration = Date.now(); // Set the current date and time.
storage = multer.diskStorage({
filename: function (req, file, callback) {
console.log("Storage Function " , file);
callback(null, newFileName = Date.now() + path.extname(file.originalname));
data.push([newFileName, expiration]); // PUSH THE DYNAMIC DATA INTO THE ARRAY
},
destination: function (req, file, callback) {
callback(null, filePath);
}
});
}
upload = multer({ storage : storage}).any();
upload(req, res, function (err) {
if(err) {
return res.end("Error uploading file. "+ err);
} else {
res.send("success");
}
});
module.exports = {multerFunction, data};
Когда я пытаюсь получить доступ к GLOBAL VARIABLE 'data' в моем маршруте / upload следующим образом:
upload. js
let multerfunction = require('../functions/functions');
router.post('/',(req, res, next) => {
console.log("GLOBAL VARIABLE DATA " , multerfunction.data);
});
module.exports = router;
ГЛОБАЛЬНАЯ ПЕРЕМЕННАЯ выходит [] (пусто) Я не понимаю, почему она выходит пустой, если я экспортирую ее из файла functions. js. Я даже консоль записываю массив данных в файл functions. js, и, конечно же, данные отображаются в файле, но почему он не экспортируется для использования с другими js файлами ??