node.js - Express4如何在单个模块中返回多个函数.exports函数

标签 node.js express

我的模型代码如下:

module.exports = function(){
    'use strict';
    return {
        getAllUsers : getAllUsers,
        getWatchlists : getWatchlists,
        getUserBidDetails : getUserBidDetails,
        addToWatchlist : addToWatchlist,
        removeFromWatchlist : removeFromWatchlist,
        getUserBuyingLimit : getUserBuyingLimit,
        userBidDetails : userBidDetails,
        getUserWatchlists : getUserWatchlists
   };   
}

我已经定义了我们在 module.exports 中返回的所有函数,但是当调用最后一个函数(即“getUserWatchlists”)时,它会抛出错误

Error: has no method 'getUserWatchlists'

可能是我没有使用正确的方法在单个 module.exports 函数中返回多个函数。请大家推荐一下

最佳答案

为什么不直接将 module.exports 设置为您当前返回的对象?例如:

module.exports = {
  getAllUsers: getAllUsers,
  getWatchlists: getWatchlists,
  getUserBidDetails: getUserBidDetails,
  addToWatchlist: addToWatchlist,
  removeFromWatchlist: removeFromWatchlist,
  getUserBuyingLimit: getUserBuyingLimit,
  userBidDetails: userBidDetails,
  getUserWatchlists: getUserWatchlists
};

或者,如果您想避免像这样重复名称,您可以只在 exports 对象上设置函数,并完全避免重新分配 module.exports 。例如:

exports.getAllUsers = function getAllUsers(...) {
  // ...
};

exports.getWatchlists = function getWatchlists(...) {
  // ...
};

// ... etc.

关于node.js - Express4如何在单个模块中返回多个函数.exports函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35406140/

相关文章:

node.js - 在运行服务器上无法获取/出现错误

node.js - 如何为非静态文件响应设置 max-age

node.js - 快速重定向错误 : can't set headers after they are sent

node.js - 类型错误 : Cannot read property 'name' of undefined express js+jade templating

node.js - View中的node.js express.js错误处理

node.js - 当更新时未传递相应值时,值在数据库内设置为 null

node.js - 在 Nodejs 中,Spread 运算符在严格模式下可用吗?

node.js - 如何在 node.js 中实现正确处理背压的流?

javascript - 使用 joi 验证整个请求对象

node.js - PassportJS req.user 发送所有用户数据