当前位置: 首页 > 知识库问答 >
问题:

应用程序。使用应用程序获取(“/”)数据不显示在同一url中。在express中使用('/')

吕岳
2023-03-14

此链接正在解释与应用程序的区别。使用应用程序。获取。但没有解释同样的路线问题。所以我想问我的问题。

我用createreact-app创建了react项目,并在src文件夹中创建了服务器。我想在索引中显示文本。当url为root时,html。所以我写了这样的代码。

公共/index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="theme-color" content="#000000">
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json">
    <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
    <title>React App</title>
  </head>
  <body>

    <p>Html test</p>

  </body>
</html>

src/服务器/server.js

import express from 'express';
import path from 'path';

const app = express();
const port = 4000;

app.use('/', express.static(path.join(__dirname, '../../public')));

app.get('/', (req, res) => {
    return res.send('<p>Hello index</p>');
});

app.get('/hello', (req, res) => {
    return res.send('Hello CodeLab');
});

app.listen(port, () => {
    console.log('Express is listening on port', port);
});

package.json

"babel-node": "babel-node src/server/server.js --presets es2015"

我测试,

localhost:4000/你好--

localhost:4000/代码

我想app。use只是一个静态文件,每当应用程序调用同一个url时,都会调用它。获取。为什么app。get('/')不显示


共有2个答案

程成天
2023-03-14

app是在Express开始时初始化的对象。app.use用于设置中间件更多信息

要解决此问题,只需删除路由的匹配项:

app.use(express.static(path.join(__dirname, '../../public')));

应用程序中使用“/”。使用您必须使用next()方法,然后express将转到下一个控制器。

羊慈
2023-03-14

为什么app。get('/')不显示

这取决于顺序。重新这样写:

app.get('/', (req, res) => {
    return res.send('<p>Hello index</p>');
});
app.use('/', express.static(path.join(__dirname, '../../public')));

您将获得

原因是在引擎盖下,app.use()app.get()的行为就像中间件一样,它们在Express应用程序中被平等对待。出现顺序决定先执行哪一个。

 类似资料:
  • 我试图理解我们什么时候需要使用这个应用程序。在我们的node Express中使用 当我在网上搜索时,我在reddit上偶然发现了这个答案,它说明了应用程序之间的区别。获取和应用程序。使用 在此基础上,我总结了以下几点。 充当超级路由或中间件?这意味着它在? 此外,如果有人能添加更多关于app.use.的信息/练习,我将不胜感激

  • 问题内容: 我正在将以下JSON字符串发送到我的服务器。 在服务器上,我有这个。 当我发送字符串时,它表明我得到了200的响应,但是其他两种方法从未运行。这是为什么? 问题答案: 我认为您正在将对象的使用与的使用混为一谈。 该对象用于将HTTP响应发送回调用方客户端,而您想访问的正文。请参阅此答案,它提供了一些指导。 如果您使用的是有效的JSON并通过进行发布,则可以使用中间件解析请求正文并将结果

  • 我正在向服务器发送以下JSON字符串。 我在服务器上有这个。 当我发送字符串时,它显示我得到了一个200的响应,但是那些其他两个方法从来没有运行过。这是为什么?

  • 我做了一个C应用程序,它假设使用Kerberos身份验证来访问HDFS。这个应用程序的webserver也是用C编写的。 我正在尝试使用Kerberos票证在此应用程序中进行透明身份验证。 我使用以下命令对未经授权的用户进行了服务器响应: HTTP/1.1 401未经授权 WWW-认证:协商 浏览器会对标题中的授权字段做出反应,如下所示: 授权:协商Yiecgygkwybbqucoid/jCCA/

  • 问题内容: 您能否解释一下如何在我的子类中获取实例?可能吗?我已尝试按照以下代码片段的方式进行操作,但它似乎不起作用- 未设置: web.xml: 问题是我需要从中获取上下文参数。如果有其他方法,请给我一个提示,我将不胜感激。 我了解注记可能并非为此目的。实际上,我不需要自己。如果只有我可以从web.xml中获取上下文参数,我将非常高兴。 这是我真正需要的一个例子: 谢谢。 问题答案: 从Jers

  • 这是我从网站上获取的JSON代码。问题是此代码没有方括号,并且在数组中没有有效值,因此我不知道如何在android应用程序中使用此代码。 {"h0":{"id": 1081,"imgtitle":{"ar_AA":"",""fa_IR":"\u0644\u062d\u0638\u0647\u0631\u0633\u06cc\u062f\u0646...","en_GB":""},"imgtext"