Nodejs, пытаюсь экспортировать переменную в другой файл - PullRequest
0 голосов
/ 26 января 2020

я пытаюсь экспортировать переменную в другой файл в приложении nodejs, но результат экспорта дает мне неопределенность при попытке его установить console.log.

Файл, из которого я пытаюсь экспортировать, Строка стрелки - это сама переменная

var express = require('express');
var router = express.Router();
var url = require('url');
var userexp


// User Api
router.get('/user/:userid', check_token, (req, res) => {
    var userid = req.params.userid;
    users.getById(userid)
    .then(data => {
        console.log(data)
        module.exports.userexp=data <--------------------------------------------------------------------
        io.emit("user",{user:data})
        res.jsonp(data);
    })
    .catch(err => {
        res.status(500).jsonp(err);
    });
})

module.exports = router;

файл, который я пытаюсь экспортировать в


var use_test=require('../routes/api')
var socket_io = require('socket.io');
var io       = socket_io();
var socketio = {};
socketio.io  = io;
var users = [];



 io.on('connection', function(socket){
    console.log(use_test.userexp);
    console.log('A user connected');
    console.log(`Socket connected ${socket.id}`)    
 });




module.exports = socketio;

1 Ответ

0 голосов
/ 26 января 2020

Вы можете присвоить его переменной, а затем экспортировать переменную, например:

var express = require('express');
var router = express.Router();
var url = require('url');
var userexp


// User Api
var myRouter = router.get('/user/:userid', check_token, (req, res) => {
    var userid = req.params.userid;
    users.getById(userid)
    .then(data => {
        console.log(data)
        module.exports.userexp=data <--------------------------------------------------------------------
        io.emit("user",{user:data})
        res.jsonp(data);
    })
    .catch(err => {
        res.status(500).jsonp(err);
    });
})

module.exports = myRouter;

Я мог бы предложить вам использовать let и const вместо var для объявления переменных (вы можете объявить функции как const Например,

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...