为我的 Express 应用程序设置 Restful API 时遇到一些问题。
这是我的 app.js:
var express = require('express'),
app = express(),
bodyParser = require('body-parser'),
methodOverride = require('method-override');
routes = require('./routes'),
api = require('./routes/api'),
port = process.env.PORT || 3000;
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.json());
app.use(methodOverride());
app.use(bodyParser.urlencoded({extended: true}));
// Page Routes
app.get('/', routes.index);
app.get('/partials/:filename', routes.partials);
// // API Routes
app.get('/api/name', api.name);
app.listen(port, function() {
console.log('Listening on port ' + port);
});
在/routes/api.js 中我有以下测试函数:
exports.name = function (req, res) {
res.json({
name: 'Test'
});
};
目前,当我转到 http://my_ip/api/name 时,出现以下错误 无法获取/api/名称
有什么想法吗?
谢谢
最佳答案
以下代码对我有用。我认为您的路线包存在一些问题。您可以分享“routes”包的代码和文件结构吗?
app.js
var express = require('express'),
app = express(),
routes = require('./routes');
api = require('./routes/api'),
port = process.env.PORT || 3000;
// Page Routes
app.get('/', routes.index);
// API Routes
app.get('/api/name', api.name);
app.listen(port, function() {
console.log('Listening on port ' + port);
});
/routes/api.js
exports.name = function (req, res) {
res.json({
name: 'Test'
});
};
/routes.js
exports.index = function (req, res) {
res.json({
name: 'Index'
});
};
关于javascript - 快速路由错误无法获取/api/name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36854871/