Загрузка...

How to make a synchronous require request?

Thread in Node.js created by RichPerson Aug 23, 2022. 199 views

  1. RichPerson
    RichPerson Topic starter Aug 23, 2022 Разработка - https://zelenka.guru/threads/4480553/ 2160 Sep 23, 2019
    Проблема заключается в том, что при экспорте переменных из другого .js файла через module.exports переменные undefined. Как я понимаю запрос выполняется ассинхронно и не успевает получить значение переменной перед ее применением. Есть какие-либо решения данного вопроса?
     
  2. Gumus
    Require - это очень старая штука. Лучше переходи на js module(import/export. Link: https://doka.guide/js/modules/). А если говорить про require, то не слышал, чтобы он работал асинхронно. Вероятнее всего не так экспортируешь. Вот статья про require: https://habr.com/ru/post/217901/
     
    1. RichPerson Topic starter
      Gumus, Благодарю, сейчас прочту и отпишу о своих успехах
    2. RichPerson Topic starter
      Gumus, [IMG] Здесь не совсем понимаю почему не определяет export
    3. View the next comments (5)
  3. Extremum
    Extremum Aug 23, 2022 Не стоит температурить 263 Jul 24, 2018
    Залей сурсы, или хотя бы тут части кода.
    Сам по себе require уже синхронный, думаю ошибка в другом.
    Пиши я взгляну, можешь в телегу
     
    1. RichPerson Topic starter
      Extremum,
      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)
    2. View the next comments (1)
  4. Extremum
    Extremum Aug 23, 2022 Не стоит температурить 263 Jul 24, 2018
    Если тебе нужно экспортировать несколько сущностей то сделай это так:
    JavaScript
    module.exports = {
    server,
    user,
    NewTransition
    }
     
    1. RichPerson Topic starter
      Extremum, [IMG] Я их просто экспортировал отдельно
    2. RichPerson Topic starter
      Extremum, В этом и заключалась вся проблема?
Loading...
Top