我在server.js
文件中定义了一条路线,如:
app.use('/file', require('./server/routes/file.js'));
位于file.js
var express = require('express');
var router = express.Router();
var outsideHelper = require('./outsideHelper');
...
router.post('/file', async function(req, res, next){
//Code
var connection = await dbFunc.dbConnect(sqlPool);
var result = await outsideHelper.DoStuff(res, connection);
})
module.exports = router;
outsideHelper
工作正常,并通过
module.exports = {
DoStuff: async function(res, connection){
try {
var localSiteRes = await localFileFunction(res, connection);
return localSiteRes;
}catch(err){
return false;
}
}
网络只向file.js
显示一个请求,但是当在此请求outsideHelper.DoStuff
内使用router.post('/file...
函数时,请求将在服务器端运行两次。但是,当我从中移除outsideHelper函数时,它只运行一次。
除了在启动本地服务器后的第一次尝试之外,一切正常。
outsideHelper.js
中没有为server.js
定义的路由,因为它不是外部调用的路由,在file.js
文件中需要它。localFileFunction
使用JSFTP 仍然是node.js和express的新手。
提前致谢