【问题标题】:KrakenJS controller routingKrakenJS 控制器路由
【发布时间】:2016-08-16 14:14:38
【问题描述】:

我有一个管理员控制器 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 路径中的控制器文件名?

【问题讨论】:

    标签: node.js express kraken.js


    【解决方案1】:

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

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

    在 config Director 中第二次检查配置

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

    编辑:

    第三个选项在控制器文件夹中创建文件夹 admin 从控制器文件夹结果结束 url "/admin" 复制 index.js 文件(不要忘记更改需要位置)和 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-12
      • 2023-03-22
      • 2014-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多