在localhost中以应用名称作为路由运行代码

时间:2019-03-05 14:08:21

标签: javascript node.js

我能够使用node index.js

运行index.js的应用程序

// index.js

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => res.send('Hello World!'))

app.listen(port, () => console.log(`Example app listening on port ${port}!`))

因此,如果我按下localhost:3000,我将在浏览器中以 Hello World 的形式获得响应。

是否可以在localhost:3000 / app中访问该应用程序并获得相同的响应?

我正在尝试将应用程序基本URL作为localhost:3000 / app

代码中应进行的更改?

我不是问正确吗?

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:3)

您绝对必须使用一个明确的Router对象。然后,在此示例中,您将必须将所有路由放置在名为appBase的路由器主机下:

const express = require('express')
const app = express()
const port = 3000

var appBase = express.Router();

app.use('/app', appBase);

appBase.get('/', function (req, res) {
    console.log(req.baseUrl); // /app
    res.send('Hello world!');
});

app.listen(port, () => console.log(`Example app listening on port ${port}!`))

一切都在官方快递文档中得到了充分解释:http://expressjs.com/en/api.html#req.baseUrl

答案 1 :(得分:0)

那呢:

const express = require('express')
const app = express()
const port = 3000

const handler = (req, res) => {
  res.send('Hello World!')
};

app.get('/', handler)
app.get('/app', handler)

app.listen(port, () => console.log(`Example app listening on port ${port}!`))