如何从节点中的module.exports链中调用一个函数

我已经在我的一个模型( review )中声明了一个函数,并以标准节点的方式导出它,以便其他文件可以使用它。 然后我引用另一个模型( company )并将其导出到那里。

最后,我试图使用company在另一个文件( companiesRoute )中定义的函数,但我得到一个company.getAllCompaniesWithReviews is not a function错误。

我正试图做甚至可能吗?

 // review.js module.exports.getAllCompaniesWithReviews = function(next) { // ... // ... // ... }; // company.js var reviews = require('./review'); module.exports.getAllCompaniesWithReviews = reviews.getAllCompaniesWithReviews; // companiesRoute.js var company = require('../models/company'); company.getAllCompaniesWithReviews(function(err, result) { // ... // ... // ... }); 

如果我尝试直接从companiesRoute调用函数,那么它的工作原理:

 review.getAllCompaniesWithReviews(function(err, result) { // ... // ... // ... }); 

这当然是答案 。 但为什么我的版本不工作?

另外,节点v4.4.4。

你可以在company.js中试试吗?

 module.exports.getAllCompaniesWithReviews = function(next) { reviews.getAllCompaniesWithReviews(next); }