2016-07-26 126 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