2016-07-26 119 views
1

我有一個管理控制器controllers/admin.js,看起來像這樣:KrakenJS控制器路由

"use strict"; 

var AdminModel = require('../models/admin'); 


module.exports = function (router) { 

    var model = new AdminModel(); 

    router.get('/admin', function (req, res) { 

     res.send("Admin"); 

    }); 
}; 

如果我啓動應用程序,得到的http://localhost:8000/admin的URL給我Cannot GET /admin。但是,/ admin/admin給我Admin

我的問題是如何擺脫URL路徑中的控制器文件名?

回答

1

第一個選項是刪除router.get管理員在admin.js控制器

router.get('/admin', function (req, res) { 

在配置導演第二次檢查配置

config.json "router": { "module": { "arguments": [{ "directory": "path:./controllers" }] } }

編輯:

第三個選項在控制器文件夾中創建文件夾admin從控制器文件夾結果複製index.js文件「admin/admin」(不要忘記更改require位置)和任何其他文件在管理文件夾,如「log.js」(路徑:「controllers/admin/log.js」)創建結束URL「/ admin/log 「通過這種方法,你的保存不同的文件夾中的所有管理代碼,這種方法有助於管理大型項目的某個時候許多文件夾還創建混亂;)的admin/index.js或log.js

router.get

router.get('/', function (req, res) { 

在我的兩個項目中使用第三種方法進行控制器目錄配置的更多研究:https://github.com/krakenjs/express-enrouten