我有以下結構不能在快速的應用程序連接路線
project
-app/
--controllers/
---home.js
--models/
---home.js
--views/
---home.html
-db/
--db.js
-index.js
我控制器home.js看起來是這樣的:
var express = require('express');
var router = express.Router();
var database = require('../models/home');
var path = require('path');
router.get("/", function(request, response) {
response.sendFile(path.join(__dirname, '../views', 'home.html'));
});
module.exports = router;
現在我想使這條路線是有用的,所以在我index.js
我:
var express = require('express');
var app = express();
var port = 3000;
app.use(require('./app/controllers/home')); //<-- this is what I ask for
app.listen(3000, function(err) {
//......
})
但現在我有更多然後只是路線的「家」,這樣反而
app.use(require('./app/controllers/home'));
app.use(require('./app/controllers/about'));
app.use(require('./app/controllers/etc'));
我讀,我可以使用:
app.use(require('./app/controllers/'));
,但我得到的錯誤,該模塊不能被發現。你能建議我怎樣才能輕鬆獲得我所有使用的路線?謝謝:)
添加'app/controllers/index.html',它可以導出所有的路由器。這將允許你'require('./ app/controllers')' – Will
'app.use(require('./app/controllers/home'));'這一行似乎不正確。你確定你在跟着嗎? –
@wilusdaman我相信你的意思是'index.js'。是的,這解決了我的問題。但是,我仍然不明白爲什麼'require'('./app/ controllers')'和'require('./app/controllers/index')'工作。我認爲第一個不應該工作..你能解釋我嗎? –