目标
我是 Node 新手,我正在尝试以一种不必跟踪导出我在该文件中编写的每个函数的方式编写代码。
<小时/>步骤
我有一个函数
general.js
import request from 'request-promise'
import env from 'dotenv'
const dotenv = env.config();
function getInfo(req, res)
{
var $mac = req.body.mac;
return new Promise((resolve, reject) => {
request({ uri: `${process.env.API_HOST}/${$mac}` })
.then((cpe) => resolve(JSON.parse(cpe).data))
.catch((error) => reject(error));
});
}
module.exports = {
getInfo
};
如何调整它以便我的函数自动导出?
<小时/>我已经尝试过
import request from 'request-promise'
import env from 'dotenv'
const dotenv = env.config();
module.exports = () => {
let general = {};
general.getInfo = ($mac) => {
return new Promise((resolve, reject) => {
request({ uri: `${process.env.API_HOST}/${$mac}` })
.then((count) => resolve(JSON.parse(count).data))
.catch((error) => reject(error));
});
}
return general;
}
我不断得到
Error: Route.post() requires a callback function but got a [object Undefined]
如何进一步调试?
最佳答案
也许只需将您的函数直接放入导出对象中即可:
module.exports = {
getInfo(req, res) {
//...
},
// type here ...
};
或者你转到 Typescript,然后你可以这样做:
export function getInfo(req, res) {
//...
}
关于javascript - 自动导出 Node 功能的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49908285/