将以下基本Express: 'Hello World'示例作为我的起点:
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('App listening at http://%s:%s', host, port);
});
我尝试在不同的.js
文件中组织代码以分离配置和路由。
这样我会app.js
:
var express = require('express');
var app = express();
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('App listening at http://%s:%s', host, port);
});
// Expose app
exports = module.exports = app;
和/routes/api.js
(在名为api.js
的子目录中包含routes
):
var app = require('../app.js');
app.get('/', function (req, res) {
res.send('Hello World!');
});
但是exports = module.exports = app;
和var app = require('../app.js');
无法正常工作:我在调用API方法时始终收到消息Cannot GET /
。
答案 0 :(得分:2)
你应该var express = require('express');
var router = express.Router();
router.get('/', function (req, res) {
res.send('Hello World!');
});
module.exports = router;
你的主要'文件,路由应该包含在其中。
您的路线文件看起来应该是这样的:
app.js
和var api = require("./routes/api.js");
...
//all your code for creating app
...
app.use('/', api);
添加:
{{1}}