我有以下文件
app.js
var express = require('express');
var app = express();
var api = require('./routes/api');
app.use('/api/v1/', api);
路由/ api.js
var express = require('express');
var router = express.Router();
var users = require('./users');
router.get('/Users', users);
module.exports = router;
路由/ users.js
var express = require('express');
var router = express.Router();
router.get('/')
.get(function(req, res) {
res.send('Hello world');
});
module.exports = router;
为什么这不起作用?
答案 0 :(得分:1)
我认为您应该使用单独的路径文件来自定义它。
app.js
var express = require('express'),
app = express(),
routes = require('./routes'); // Create a routes folder and under that create index.js
app.use('/', routes);
路由/ index.js
var express = require('express'),
router = express.Router(),
apis = require('apis');
router.get('YOUR API NAME', apis.api);
router.post('YOUR API NAME', apis.ANOTHER API HERE);
创建一个文件夹apis并将您的API放在apis文件夹下,同时创建一个index.js来导出您的API。
的API / index.js
var APIs = ['api', 'ADD MORE APIs here'];
APIs.forEach(function(api) {
module.exports[api] = require(__dirname + '/' + api)[api];
});
希望这会对你有所帮助:)。
答案 1 :(得分:0)
在routes / users.js
中而不是
router.get('/')
.get(function(req, res) {
res.send('Hello world');
});
尝试
router.get('/',function(req, res) {
res.send('Hello world');
});
或者
router.route('/')
.get(function(req, res) {
res.send('Hello world');
});
答案 2 :(得分:0)
在api.js中使用router.use而不是router.get为我修复了