Javascript 如何在node.js中导入函数?
我想在report.js文件中有两个函数,一个是Javascript 如何在node.js中导入函数?,javascript,node.js,function,Javascript,Node.js,Function,我想在report.js文件中有两个函数,一个是report\u data,它是api控制器,第二个是test我想在report\u data函数中使用test函数。 下面是我的两个函数的代码 var sequelize = require('../config/sequelize'); const Op = sequelize.Sequelize.Op; var errors = require('../config/errors'); var error = errors.errors; c
report\u data
,它是api控制器,第二个是test
我想在report\u data
函数中使用test
函数。下面是我的两个函数的代码
var sequelize = require('../config/sequelize');
const Op = sequelize.Sequelize.Op;
var errors = require('../config/errors');
var error = errors.errors;
const helpers = require('../helpers/validations');
const logger = require('../helpers/logger').logger;
const fs = require('fs');
module.exports = {
report_data: async (req, res) => {
if (!req.body.id) {
logger.warn(error.MANDATORY_FIELDS);
return res.status(500).send(error.MANDATORY_FIELDS)
}
sequelize.sequelize.transaction(async (t1) => {
console.log('socket connected')
test(io)
let result = error.OK
logger.info(result);
return res.status(200).send(result)
}).catch(function (err)
logger.warn(err);
console.log(err)
return res.status(500).send(error.SERVER_ERROR)
})
},
test: function (io) {
console.log(io.sockets)
}
};
最简单的方法是将
test
声明为命名的全局函数:
function test(io) {
console.log(io.sockets)
}
module.exports = {
report_data: async (req, res) => {
// now you call call `test()` here
},
test: test,
}
是否可以使用它而不声明它globalIt不是全局的。它是模块的本地函数。在这个函数中,我正在获取io对象,但无法理解如何从itright中获取值。现在,在report_数据中,我正在尝试这个`测试(io.emit('ConnectorRoom','You's in room no.“+userId))`但它显示,
io未定义
@Arya报告_数据
没有名为io
的变量。你期望io是什么?它是一个变量吗?它是您需要导入的模块吗?还是怎样记住这些,然后发布一个新问题来提供这些信息。