i有 app.js 有
var express = require('express');
var report = require('./routes/Report');
var app = express();
app.use('/api/appReport', report);
app.listen(3000);
module.exports = app;
我有 report.js
var express = require('express');
var router = express.Router();
var reportDb = require('../db/ReportDB');
reportDb.test(function(res) {
});
router.get('/all', function(req, resp) {
reportDb.getAll(function(result) {
resp.status(200);
resp.send(result);
return resp;
});
});
我有 reportdb.js
module.exports.test = function() {
console.log('Hello');
}
module.exports.getAll = function (callback) {
//Some operations
};
上面的代码正常工作。
我的问题是
当我启动节点JS服务器时,它会自动调用report.js中存在的reportdb.test((,但它并未自动调用report.js中存在的router.get((。因此,我想知道调用test((和router.get((的呼叫有什么区别?
?我知道何时命中'/all'URL,然后将调用router.get((。但是对于reportdb.test((,我们没有在app.js中调用,因此在启动服务器时它是如何自动调用的?
如果我在report.js中使用以下功能。然后它不会迅速。
function test1() {
console.log('hello...');
}
我想知道是app.use((调用所有被导出的方法?
它的调用test((,因为您已经写了
reportDb.test(function(res) {
});
在report.js中,其中包括reportdb.js。另外,您在app.js。
中包括了report.js app.use('/api/appReport', report);
不是调用test((
您的路由器。Get((将在您触电时遇到localhost时打电话:3000/all