我想在外部文件中导出我的路线。
除了根路线之外的所有东西都在起作用:localhost / login - > "登录页面"
localhost / - >空
server.js:
// SET UP =============
var express = require("express");
var app = express();
var port = 80;
var bodyParser = require("body-parser");
// CONFIG =============
app.use(express.static(__dirname + "/public"));
app.use(bodyParser.urlencoded({'extended':'true'}));
app.use(bodyParser.json());
app.use(bodyParser.json({ type: 'application/vnd.api+json' }));
// ROUTES =============
var base = require("./routes/base");
app.use("/",base);
// LISTEN =============
app.listen(port);
console.log("Server listening on port " + port);
base.js:
var express = require('express')
var router = express.Router()
//Home
router.get('/', function (req, res) {
res.send('Home page')
})
//Login
router.get('/login', function (req, res) {
res.send('Login page')
})
module.exports = router
答案 0 :(得分:1)
您无需在app.use('/', base)
上指定路由,而只需将路由器中间件直接提供给您的快速应用,并让base
内的路由器处理请求。
app.use(base)
答案 1 :(得分:1)
我的 ./ public 文件夹中有一个空的 index.html 。
答案 2 :(得分:0)
您使用/ login路由覆盖根路由,因此只导出/ login路由。如果您想将所有路由保存在一个文件中,我建议您在base.js
文件中执行以下操作:
module.exports = function(server){
server.get('/', function(request, response){
response.send('Home page.');
});
server.get('/login', function(request, response){
response.send('Login page.');
});
}
然后在server.js
文件中使用以下方法导入路径:
require('./routes/base.js')(app);
这会立即导入路由并在您创建的Express服务器上调用它们的功能:)