'ypeError: exports.getAllProducts is not a function

I have created a file productcontroler.js where i have placed the function which is runign on routes call

exports.getAllProducts() = (req,res)=>{
  res.status(200).json({message:"Route is working fine"});
}

and here is the route

const express = require("express");
const {getAllProducts} = require("../controller/productController.js")

const router = express.Router();


router.route("/product").get(getAllProducts);

and i am getting this error

exports.getAllProducts() = (req,res)=>{
        ^

TypeError: exports.getAllProducts is not a function

after removing the parantheses from getAllproduct in controller file

hrow new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))
      ^

TypeError: Router.use() requires a middleware function but got a Object
    at Function.use (C:\Users\saran\OneDrive\Desktop\Learn React\mern\node_modules\express\lib\router\index.js:464:13)
    at Function.<anonymous> (C:\Users\saran\OneDrive\Desktop\Learn React\mern\node_modules\express\lib\application.js:220:21)      
    at Array.forEach (<anonymous>)
    at Function.use (C:\Users\saran\OneDrive\Desktop\Learn React\mern\node_modules\express\lib\application.js:217:7)
    at Object.<anonymous> (C:\Users\saran\OneDrive\Desktop\Learn React\mern\backend\app.js:13:5)


Solution 1:[1]

you might be forgetting to export one of your files like your router

if you are using const router = express.Router();

don't forget to export module.exports=router;

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Yonas Kemon