域在哪里映射到应用路由器?

时间:2019-01-07 01:21:03

标签: node.js

const express = require('express');
const router = express.Router();

router.get('/specialRoute', function (req, res, next) {
     // route is now http://domain:3000/route/specialRoute
});

router.get('/', function (req, res, next) {
    // route is now http://domain:3000
});

module.exports = router;

但是,“域”在哪里映射到“ /”?换句话说,路由'http://domain:3000'-> router.get('/',

的逻辑在哪里?

2 个答案:

答案 0 :(得分:0)

express不是localhost应用程序(用于绑定)。

通常,映射默认为app.listen(80, "mywebsite");,因为您为IP分配了域名,并且DNS进行了布线。

如果查看Express's listen documentation on devdocs,您会发现可以将主机作为第二个参数传递:{{1}}

答案 1 :(得分:0)

如果要将路由器映射到根(“域”),则首先需要一个快速应用程序:

const app = express();

然后use路由器:

app.use(router);

要使其更加整洁:Express应用程序本身就是Router的实例,因此如果将router.get替换为app.get,则其功能将相同。

您要创建一个新路由器并导出它的原因是要具有多个路由器模块,然后从这样的主文件中require进行这些操作:

const express = require("express");
const app = express();
app.use("/shop", require("./path-to-your-shop-router.js"));

此外,别忘了让服务器监听,以便您可以在计算机上对其进行访问:

// Ports <1024 are usually restricted
app.listen(3000);