我对 node.js 很陌生,从 JS 文件访问数据时遇到问题。我有 3 个文件(见下文)我将数据存储在“SeondController”中,我想从“FirstController”中检索这些数据。我可以从“index.js”很好地访问“FirstController”,但我无法从“SeondController”获取数据。
我确定这很简单,但我无法弄清楚。我正在使用 Express 4,并认为它与路由有关,但我再次不确定。如果有帮助,代码将在 Heroku 云上运行。
错误类似于 SecondController.getData is not a function。
有人可以指出我的错误。
—————————————————————————— index.js ——
var express = require('express');
var app = express();
var router = express.Router();
var path = require('path');
var FirstController = require('./FirstController');
var SecondController = require('./SecondController');
var bodyParser = require('body-parser')
app.set('port', (process.env.PORT || 5000));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/getObjects’, function(req, res) {
res.setHeader("Access-Control-Allow-Origin","*");
FirstController.getObjects(req, res);
});
app.listen(app.get('port'), function() {
console.log('Node app is running on port', app.get('port'));
});
———————————————————————— FirstControlle.js ——
var SecondController = require('./SecondController');
function FirstController() {
}
FirstController.getObjects = function(req, res) {
var returnObjects = SecondController.getData(req, res);
};
module.exports = FirstController;
——————————————————————— SecondControlle.js ——
function SecondController() {
}
var messageData = {
"attachment": {
"type": "template",
"payload”:”12345”
}
}
SecondController.getData= function(req, res) {
return messageData;
};
module.exports = SecondController;