javascript - 快速路由错误无法获取/api/name

标签 javascript node.js express

为我的 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/

相关文章:

javascript - 使用脚本拆分 PDF,但不适用于横向 PDF

Javascript 函数 draw() 形状到图像

javascript - 您应该如何从 Node 中的 EventEmitter 继承?

node.js - 如何在ejs中获取session值

node.js - 创建 React 应用程序 http-proxy-middleware 不工作

javascript - 如何获取Z-index的数值

javascript - 为什么非贪婪角色不行动 'non-greedy' ?

node.js - 我无法在本地运行 Azure Functions 核心工具

node.js - 如果postgresql中不存在如何删除

javascript - 参数值 '<'转换为 '&lt;'