2017-02-13 31 views
0

說,例如節點模塊中我node_module文件夾中我有一個名爲project的NPM具有一定集中定義明確的路線。例如,如何通過定義明確的路線,主要index.js文件

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

router.get('/', function (req, res, next) { 
    res.render('indexPage', {title: 'Homepage'}); 
}); 

module.exports = router; 

其保存在一個文件routes.js

這將如何在主節點項目文件index.js文件訪問?

我試圖使用require()功能,但是,這是行不通的。

回答

0

在設置你的應用程序作爲一個Express應用程序,然後像下面添加您的路線中間件(S)。

而且我已經添加了一些有用的部分代碼(簡單快速的應用程序)的任何初學者:

// defining an express app 
var express = require('express') 
var app = express() 
var server = require('http').Server(app) 


// setting the express app - in case of needed 
app.set('x-powered-by', false) // hide x-powered-by header! 
app.set('view engine', 'ejs'); // set EJS as view engine! 
app.set('views', __dirname + '/views'); // specifying the directory that contains view files 

// THIS IS YOUR ANSWER PART 
app.use(require('./routes')) 
... 
... 
// Other middlewares 
app.use(require('./middlewares/someMiddleware')) 
// Catching 404 errors 
app.use('*', function(req,res){ 
    res.status(404).send("URL not found.") 
}) 
// Catching and evaluating the other errors 
app.use(require("./middlewares/errorHandler")) 

server.listen(3001, function() { 
    console.log('APP Server is listening HTTP port 3001') 
}) 

一般最後路線一直是404錯誤。因此,如果請求在404之前沒有被任何路由捕獲,那就意味着「頁面找不到」。

此外,中間件的ErrorHandler需要4個參數(錯誤,請求,響應和下一個)。

所以,如果你在你的routes.js有錯誤遇到,如果你使用next(err)可以errorHandler中間件抓住了這個錯誤routes文件發送這個錯誤。

這是開始開發Express應用程序時每個人都需要的基本信息。

有關詳細信息:
http://expressjs.com/en/guide/using-middleware.html

好運...

+0

感謝,對有益的指導太 – RH7

+0

@ RH7,我已經編輯我的答案。它可能對你有用。 – efkan