Как я могу обслуживать robots.txt в SPA, используя React с хостингом Firebase? - PullRequest
0 голосов
/ 08 мая 2018

У меня есть SPA, построенный с использованием create-react-app, и я хочу иметь robots.txt, например:

http://example.com/robots.txt

Я вижу на эту страницу , что:

Вы должны убедиться, что ваш сервер настроен на перехват любых URL-адресов после того, как настроен для обслуживания из каталога.

Но для хостинга Firebase я не уверен, что делать.

1 Ответ

0 голосов
/ 14 мая 2018

В моем каталоге /public я создал robots.txt.

В своем каталоге /src я сделал следующее:

Я создал /src/index.js:

import React from 'react'
import ReactDOM from 'react-dom'
import {TopApp} from './TopApp'
import registerServiceWorker from './registerServiceWorker'

import {BrowserRouter} from 'react-router-dom'

ReactDOM.render(
  <BrowserRouter>
    <TopApp/>
  </BrowserRouter>,
  document.getElementById('react-render-root')
)

registerServiceWorker()

Я создал /src/TopApp.js:

import React from 'react'

import {
  Switch,
  Route
} from 'react-router-dom'

import {ComingSoon} from './ComingSoon'
import {App} from './App'

export class TopApp extends React.Component {
  render() {
    return (
      <div className="TopApp">
        <Switch>
          <Route path='/MyStuff' component={App}/>
          <Route exact path='/' component={ComingSoon}/>
        </Switch>
      </div>
    )
  }
}

Поскольку путь /robots.txt не охватывается указанными путями маршрутизатора, он взят из моего публичного каталога, и файл роботов был опубликован по желанию.

То же самое можно сделать для sitemap.xml.

...