首页 > 解决方案 > 在 localhost 中运行代码,应用名称为路由

问题描述

我能够运行我的 index.js 的应用程序node 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

代码应该有什么变化?

我不知道我问的是否正确?

任何帮助表示赞赏

标签: javascriptnode.js

解决方案


您肯定必须使用 expressRouter对象。然后,您必须将所有路由放在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


推荐阅读