我是一个业余的 nodejs 开发人员。我在使用 javascript 模块时遇到严重问题,并且需要来自其他模块内部的模块。这是我需要帮助的场景。
假设我在一个文件中有 API 定义,如下所示(userApi):
var userFunctions = require('./userFunctions.js')()
module.exports = function(){
module.getUser = function(req.res){
userFunctions.getUser(req.id, function(err,user){
if(err) return res(err)
return res(null,user)
})
}
return module;
}
像这样的辅助模块(userFunctions.js)
var paymentFunctions = require('../payment/paymentFunctions.js')()
module.exports = function(){
module.getUser = function(id,res){
//logic
}
return module;
}
另一个像这样的辅助模块(paymentFunctions.js)
var userFunctions = require('../user/userFunctions.js')()
module.exports = function(){
module.makePayment = function(req,res){
userFunctions.getUser(req.id, function(err){
if(err) return res(err)
return res(null)
})
}
return module;
}
如您所见,我所有的助手和 API 都在模块中。我还在 require 语句的末尾加上括号。您可能还注意到 paymentFunctions 需要 userFunctions ,反之亦然。在我使用 node 期间,我还没有弄清楚这种模式带来的各种错误。今天我看到“要求不是功能错误”。注意:当我重新索引我的 webstorm 项目时,它正在工作并突然停止工作。话虽如此,我过去在 require 语句和 JS 模块方面遇到过许多类似的错误。因此,这是一个更系统的问题,我需要在我的大脑中解决。