Реагирует ли маршрутизатор на переопределение маршрутизации URL-адресов app.get ('/ ping'? - PullRequest
0 голосов
/ 07 мая 2020

В настоящее время у меня есть общий хостинг (CPanel), который обслуживает c сборку Node.JS для клиентского кода. На том же источнике и на общем хостинге у меня работает сервер express, показанный ниже:

const express = require('express')
const path = require('path')
const app = express()

const express = require('express')
const path = require('path')
const app = express()

// This doesn't work
app.get('/ping', (req, res) => {
  return res.send('pong')
})

app.use(express.static(path.join(__dirname, 'build')))


app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, 'build', 'index.html'))
})

app.listen(8080) (req, res) => {
  return res.send('pong')
})

app.use(express.static(path.join(__dirname, 'build')))

// This serves out the static build of the client side code (App.js) - and works
app.get('/', (req, res) => {
  res.sendFile(path.join(__dirname, 'build', 'index.html'))
})

app.listen(8080)

Я пытаюсь создать API для серверной стороны, чтобы взаимодействовать со стороной клиента. Главное приложение отлично работает, когда я открываю root '/'. Однако я не могу заставить этот код работать на стороне сервера, когда я пытаюсь получить доступ к этой части API:

app.get('/ping', (req, res) => {
      return res.send('pong')
    })

Когда я обращаюсь к URL-адресу с помощью '/ ping', он просто дает мне пустой экран без слова «понг». Однако в сборке stati c я использую BrowserRouter, который отлично назначает URL-адрес странице, когда я открываю '/ rooms / id' в URL-адресе:

 function App() {
  return (

    <BrowserRouter>
      <Switch>
        <Route path="/" exact component={CreateRoom} />
        <Route path="/room/:roomID" component={Room} />
      </Switch>
    </BrowserRouter>
  );
}

Это код на стороне клиента конфликтует с моим серверным кодом? Как еще мне получить API для обслуживания моих материалов на стороне клиента и на стороне сервера в одном источнике?

1 Ответ

0 голосов
/ 07 мая 2020

Решено:

Мне нужна была папка в каталоге root под названием «ping».

Я впервые создаю API, так что, надеюсь, я делаю это правильно!

...