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
我有一个管理控制器 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