KrakenJS控制器路由

时间:2016-07-26 12:14:15

标签: node.js express kraken.js

我有一个管理控制器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的网址会向我Cannot GET /admin。但是,获取/ admin / admin会给我Admin

我的问题是如何摆脱URL路径中的控制器文件名?

1 个答案:

答案 0 :(得分:1)

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

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

在配置控制器中进行第二次检查配置

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

编辑:

第三个选项在controllers文件夹中创建一个文件夹admin从controller文件夹中复制index.js文件结果结束URL" / admin" (不要忘记更改需要的位置)和管理文件夹中的任何其他文件,如" 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