KrakenJS 控制器路由

KrakenJS controller routing

我有一个管理控制器 controllers/admin.js,看起来像这样:

"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 路径中的控制器文件名?

第一个选项是从 admin.js 控制器 router.get 中删除管理员

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

第二次检查 config director 中的配置

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

编辑:

第三个选项在 controllers 文件夹中创建一个文件夹 admin 从 controllers 文件夹复制 index.js 文件 result end url“/admin”(不要忘记更改需要的位置)和任何其他文件admin 文件夹 like "log.js" (path:"controllers/admin/log.js") create end url "/admin/log" 通过这种方法你可以将所有管理代码保存在不同的文件夹中,这种方法有助于管理大型项目有时很多文件夹也会造成混乱 ;)

router.get 在 admin/index.js 或 log.js

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

在我的两个项目中使用第三种方法来进一步研究控制器目录配置:https://github.com/krakenjs/express-enrouten