React отображает пустую страницу вместо канала JSON - PullRequest
0 голосов
/ 01 ноября 2018

У меня на сервере Express работает приложение React; сайт функционирует хорошо.

На выделенном URL - herokuapp.com / apii - я хочу показать поток данных JSON (например, как этот ), который будет использоваться для мобильного приложения для получения данных от

Это мой app.js (сервер):

const express = require('express'),
      path = require('path'),
      mongoose = require('mongoose'),
      bodyParser = require('body-parser'),
      passport = require('passport');

const app = express();
const apii = require('./backend/routes/apii');
...
// Serve static files from the React app -- added because of Heroku, the local app doesn't need this
app.use(express.static(path.join(__dirname, 'frontend/build')));

app.use(passport.initialize());
require('./backend/passport')(passport);

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.use('/apii', apii);
app.get('*', function(request, response) {
    response.sendFile(path.resolve(__dirname, './react-ui/build', 'index.html'));
});

app.listen(PORT, () => {
    console.log(`Server is running on PORT ${PORT}`);
});

module.exports = app;

Затем, . / Backend / маршруты / apii :

var express = require('express');
var router  = express.Router();

router.get('/', function(req, res, next) {
    var testObject = {
        "AppName": "MongoPop",
        "Version": 1.0
    }
    res.json(testObject);
});

module.exports = router;

А вот маршрутизация Реакта:

export default class App extends Component {
    render() {
      return (
          <Provider store = { store }>
            <Router>
              <div>
                <Navbar />
                <Router exact path="/" component={ Home } />
                <div className="container">
                    <Route exact path="/home" component={ Home } />
                    <Route exact path="/about" component={ About } />
                </div>
              </div>
            </Router>
          </Provider>
        );
    }
}

Маршруты типа herokuapp.com / home или herokuapp.com / about работают хорошо, однако, когда я пытаюсь поставить в браузер herokuapp.com / apii , я получаю пустую страницу, объект JSON testObject не отображается (только пустая белая страница, как упоминалось ранее).

Однако, если я добавлю URL herokuapp.com / apii в Почтальон , я увижу testObject : enter image description here

Почему структура JSON не отображается в браузере?

Заранее спасибо

...