2016-08-09 6 views
0

私のルートフォルダにはserver.jsというコンテンツがあります。パラメータを渡さずにserver.jsからroutes.jsにルートを移動

私はそれが次のようになりますので、routes.jsというファイルに app.getエンドポイントを取りたい
// server.js 
const app = express(); 
const HomeController = require("./controllers/HomeController"); 
const UserController = require("./controllers/UserController"); 
app.use(...) 
app.use(...) 

app.get('/', HomeController.index); 
app.get('/login', UserController.getLogin); 

:私はそれを行うと

// routes.js 
app.get('/', HomeController.index); 
app.get('/login', UserController.getLogin); 

appHomeControllerUserControllerundefinedになります。

私はそうのようなroutes.jsに渡すことができます。

require("routes")(app, HomeController, UserController); 

しかし、それは互換性の未来ではないので、私が今まで新しいコントローラを作成する場合、私はroutes.jsファイルにそれらを渡す必要があります。

代わりにroutes.jsserver.jsの範囲にアクセスするように教えてもよろしいですか? server.jsの変数にアクセスする方法はありますか?routes.js

答えて

0

なぜ、ExpressJSのデフォルトパターンを使用しなかったのですか?以下のような:

var apiRoutes = require('./api_server/routes/api'); 

app.use('/api', apiRoutes); 

... /ルート/ api.js:

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

var loginCtrl = require('../controllers/auth/login'); 

router.post('/authenticate', loginCtrl.login); 
router.post('/resetAdminPassword', loginCtrl.resetAdmin); 
// router.get('/tieba/:id', tiebaCtrl.one); 

module.exports = router; 
関連する問題