Express.js – 路由文件中的导出/访问function
我正在尝试导出path文件中的function。 这是我的代码
app.js文件
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文件
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;
如何在user.js文件中导出或调用funDef。 我尝试了以下方法,但它不工作
users.js文件
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;
任何人都可以指导我?
尝试以下方法:
function router() {} router.prototype.funDef=function(){ console.log("export a function") } moudle.exports.router=router;
另一个文件:
var router = require('router').router; var Router = new router(); Router.funDef();
编辑:
// 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());