0
我想从另一个模块调用路由中的方法。 这种表示module.exports的简化版,工作在东阳我的控制台我得到这样的getProducts错误不是函数Node.js从另一个模块访问方法
const express = require('express');
const router = express.Router();
const path = require('path');
const productsController = require('../controller/productsController')
const productModel = require('../models/productModel');
// send html file
router.get('/', function (req, res) {
res.sendFile(path.join(__dirname, '../public/esercitazione-AJAX.html'));
});
//to /getProducts call a method from productsController
router.get('/getProducts', function (req, res){
productsController.productsController()
});
module.exports = router;
这是我的模块
//productsController.js
const productModel = require('../models/productModel');
var productsController = function() {
console.log('productsController')
var getProducts = function(req,res,callback) {
var callback = function(result) {
res.send(result);
}
productModel.getProducts(req, res, callback);
}
}
module.exports = new productsController();
如果我使用这种表示法,我得到这个错误 TypeError:productsController.getProducts不是一个函数,我需要导出一个对象和辅助功能ss到一个方法productsController,这是我的目标 –
你确定你复制了我所有的代码吗? – alexmac
我的错误对不起,现在我已经复制了正确的代码,但是这种导出等于module.exports = new module(); –