Проблема заключается в том, что при экспорте переменных из другого .js файла через module.exports переменные undefined. Как я понимаю запрос выполняется ассинхронно и не успевает получить значение переменной перед ее применением. Есть какие-либо решения данного вопроса?
Require - это очень старая штука. Лучше переходи на js module(import/export. Link: https://doka.guide/js/modules/). А если говорить про require, то не слышал, чтобы он работал асинхронно. Вероятнее всего не так экспортируешь. Вот статья про require: https://habr.com/ru/post/217901/
Залей сурсы, или хотя бы тут части кода. Сам по себе require уже синхронный, думаю ошибка в другом. Пиши я взгляну, можешь в телегу
Extremum, //index.js server.use(express.static(__dirname)) const user = '5100771106' const uniqId = '4545445' server.get('/', function(request, response){ response.sendFile(__dirname + '/index.html') }) server.use('/' + uniqId + '.json', function(request, response){ if(fs.existsSync(path.join(__dirname + '/users/' + user + '/Url/' + uniqId + '.json'))){ let IdUrl = path.join(__dirname + '/users/' + user + '/Url/' + uniqId + '.json') //let UrlInfo = JSON.parse(fs.readFileSync(IdUrl)) response.sendFile(__dirname + '/index.html') const NewTransition = true module.exports = { NewTransition, user } else{ console.log('Файл не найден') response.sendStatus(404) } }) server.listen(3000) console.log('Сервер запущен на 3000') module.exports = server //bot.js const { user, server, NewTransition } = require('./index.js') console.log(user) JavaScript //index.js server.use(express.static(__dirname)) const user = '5100771106' const uniqId = '4545445' server.get('/', function(request, response){ response.sendFile(__dirname + '/index.html') }) server.use('/' + uniqId + '.json', function(request, response){ if(fs.existsSync(path.join(__dirname + '/users/' + user + '/Url/' + uniqId + '.json'))){ let IdUrl = path.join(__dirname + '/users/' + user + '/Url/' + uniqId + '.json') //let UrlInfo = JSON.parse(fs.readFileSync(IdUrl)) response.sendFile(__dirname + '/index.html') const NewTransition = true module.exports = { NewTransition, user } else{ console.log('Файл не найден') response.sendStatus(404) } }) server.listen(3000) console.log('Сервер запущен на 3000') module.exports = server //bot.js const { user, server, NewTransition } = require('./index.js') console.log(user)
Если тебе нужно экспортировать несколько сущностей то сделай это так: module.exports = { server, user, NewTransition } JavaScript module.exports = { server, user, NewTransition }