Je voudrais accéder à une méthode d'un autre module appelant cette méthode à l'intérieur d'une route. avec cette notation de module.exports travail does't beacause dans ma console, je reçois une erreur comme getProducts n'est pas une fonctionNode.js accès à une méthode à partir d'un autre module
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;
c'est mon module
//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();
si j'utilise cette notation je reçois cette erreur TypeError: productsController.getProducts est pas une fonction, je dois exporter un objet et acce ss à une méthode productsController, ceci est mon objectif –
Etes-vous sûr que vous avez copié tout mon code? – alexmac
mon erreur désolé, Maintenant, j'ai copié le bon code, mais ce type d'exportations est égal à module.exports = new module(); –