Эта ссылка объясняет разницу с app.use
и app.get
.Но не объясняя о той же проблеме маршрута.Поэтому я хочу задать свой вопрос.
Я среагировал на проект с create-react-app
и сделал сервер внутри папки src
.Я хочу показать текст в index.html
, когда URL-адрес является корневым.Поэтому я пишу такие коды:
public / 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 / 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/hello
-> Hello CodeLab
localhost:4000/
-> Html-тест ( не Hello index )
Я думал, app.use
- это просто статический файл, который вызывается каждый раз, когда app.get
вызывает один и тот же URL.Почему app.get('/')
не показывает <p>Hello index</p>
в этом проекте?