Следующее решение может помочь вам, но не обязательно для вашего варианта использования.(Не используется module-exports
):
Вы можете использовать request-context
пакет для достижения той же функциональности.
Что делает пакет, вы можете установить value(data)
против key
, а затем получить доступ к нему при следующем выполнении кода в том же context
.
Выполнить npm install request-context
В вашем основном app.js
(файл сервера),зарегистрируйте request-context
в качестве промежуточного программного обеспечения.
const contextService = require("request-context");
const app = express();
...
// Multiple contexts are supported, but below we are setting for per request.
app.use(contextService.middleware("request"));
...
И затем в вашем index.main.js
, когда targetFiles
будет готов, установите targetFiles
в контекст запроса.
const contextService = require("request-context");
...
files.forEach(file =>
{
targetFiles = file.name; //this is the variable to export
console.log(`-----`+file.name);
});
// Here `Request` is the namespace(context), targetFileKey is the key and targetFiles is the value.
contextService.set("request:targetFileKey", targetFiles);
return targetFiles;
}
...
И в том же запросе, где вы хотите использовать targetFile
, вы можете сделать следующее:
index.js
(Может быть любой файл, где вам нужно targetFiles
после установки):
const contextService = require("request-context");
...
// Reading from same namespace request to which we had set earlier
const targetFiles = contextService.get("request:targetFileKey");
...
Обратите внимание: вы сможете получить доступ к targetFiles
в том же request
, который вы установили.Это означает, что request-context
, который мы настроили в app.js
, относится к каждому запросу API, что означает, что в каждом запросе API вы должны устанавливать его перед чтением.
Пожалуйста, дайте мне знать, если вышеприведенное решение не подходитдля вас.