2017-08-22 51 views
0

我使用express js。我想訪問server.js中的其他文件js函數。請任何人幫助我。如何在server.js文件中調用其他js函數?

server.js

var express = require('express'), 
path = require('path'), 
cors = require('cors'), 
bodyParser = require('body-parser'), 
routes = require('#######'), //web routes 
connection = require("######"); //mongodb connection 
authChecker = require("./###/authChecker"); 

var app = express(); 
app.use(bodyParser.json()); 
app.use(express.static(path.join(__dirname, 'app'))); 
app.use(express.static('node_modules')); 
app.use(cors()); 
app.use(authChecker); 
app.use('/', routes); 

我authChecker js文件是

authChecker.js

module.exports = { 
function(req, res, next) { 
    console.log("authondication checker process"); 
    if (req.session.auth || req.path === '/auth') { 
     next(); 
    } else { 
     res.redirect("/auth"); 
    } 
} 
} 

時app.use(authChecker)這行執行這個錯誤在服務器啓動時顯示。

E:\MEAN_STACK\MySampAps\Crud_samp\node_modules\express\lib\application.js:210 
throw new TypeError('app.use() requires middleware functions'); 
^ 

TypeError: app.use() requires middleware functions 
at Function.use (E:\MEAN_STACK\MySampAps\Crud_samp\node_modules\express\lib\application.js:210:11) 
at Object.<anonymous> (E:\MEAN_STACK\MySampAps\Crud_samp\server.js:39:5) 
at Module._compile (module.js:569:30) 
at Object.Module._extensions..js (module.js:580:10) 
at Module.load (module.js:503:32) 

回答

2

您可以修改authChecker.js是這樣的:app.use(authChecker)

希望這:

module.exports = function(req, res, next) { 
console.log("authondication checker process"); 
if (req.session.auth || req.path === '/auth') { 
    next(); 
} else { 
    res.redirect("/auth"); 
}} 

,那麼你可以通過這個調用該函數在server.js幫助

+0

當我使用它在server.js,我得到了全功能的返回類型。但我需要執行這個函數並獲得輸出。 – Manihtraa

+0

你試過我的最新答案嗎?我幾秒前編輯它。 –

1

檢查了這一點 server.js

var express = require('express'), 
path = require('path'), 
cors = require('cors'), 
bodyParser = require('body-parser'), 
routes = require('#######'), //web routes 
connection = require("######"); //mongodb connection 
authChecker = require("./###/authChecker").auth; 

var app = express(); 
app.use(bodyParser.json()); 
app.use(express.static(path.join(__dirname, 'app'))); 
app.use(express.static('node_modules')); 
app.use(cors()); 
app.use(authChecker); 
app.use('/', routes); 

我authChecker js文件是

authChecker.js 

module.exports = { 
auth:function(req, res, next) { 
    console.log("authondication checker process"); 
    if (req.session.auth || req.path === '/auth') { 
     next(); 
    } else { 
     res.redirect("/auth"); 
    } 
} 
} 
相關問題