1

I am trying to export function within route file. Here is my code

app.js file

var express = require('express');
var bodyParser = require('body-parser');
var users = require('./routes/users');
var others=require('./routes/others')
var app = express();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/others', others);
app.use('/users', users);
module.exports = app;

others.js file

var express = require('express');
var router = express.Router();
router.post("/test", function (req, res, next) {
    res.send("success");
});
//Here i want to export function to users js file
var funDef=function(){
console.log("export a function")
}    

moudle.exports=router;

How can I export or call funDef in users.js file. I tried the following way but it is not working

users.js file

var express = require('express');
var router = express.Router();
var readFun= require("./others.js");

router.post("/testUsers", function (req, res, next) {   
res.send("suceess");
});   
//getting undefined
readFun.funDef();

module.exports=router;

Can anyone guide me?

1 Answer 1

3

Try for the following:

function router() {}

        router.prototype.funDef=function(){
          console.log("export a function")
        }    
    moudle.exports.router=router;

Another file:

 var router = require('router').router;
 var Router = new router();

Router.funDef();

EDIT:

// module.js
'use strict';
var temp = "this is a test";

module.exports.func = function() {
   return temp;
}

// app.js
'use strict';
 var module = require('./module');
 console.log(module.func());
Sign up to request clarification or add additional context in comments.

7 Comments

How funDef() is accessed? I tried 'readFun.funDef()', but i got undefined
@SubburajI tried your code and still I see the same error (undefined)
@Subburaj- it's not working either. 'var router = require('router').router;'. logged router and it is showed undefined. When i put 'var router = require('router')' , the variable router holds 'function router(req, res, next) { router.handle(req, res, next) }'
@Subburaj- module.exports.router=router doesn't work for me. did it work for you?
@Subburaj- No, i have added functions in another empty js and exported using code module.exports.functionName= function (){--}, and not added that js file in routes. It'll be great if you can help me out in exporting function within route file.
|

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.