NWJS Маршрутизация приложений работает безупречно, версия для сборки не маршрутизирует - PullRequest
0 голосов
/ 13 июня 2019

В настоящее время работаю над настольным приложением с NWJS. Стек, который я использую - это стек MERN. В настоящее время я нахожусь на этапе сборки, и у меня есть серьезная проблема: мои маршруты (с React-Router) не работают после сборки приложения.

Вы найдете скриншоты проблемы ниже: при запуске мое приложение должно отображать форму входа (с реагирующим маршрутизатором).

Я пробовал большинство вещей, от рефакторинга до избавления от предупреждений консоли ... Все же в Dev все работает (через npm start). Моя маршрутизация не имеет проблем .. Я просто не понимаю

import React, { Component } from "react";
import "./App.css";
import FormSignin from "./containers/form/form.js";
import { BrowserRouter as Router, Route, Switch } from "react- 
router-dom";
import Dashboard  from "./containers/dashboard/dashboard.js";
import { PrivateRoute } from "./components/PrivateRoute.js";
import LoaderApp from "./components/loader.js";
import Selector from "../src/components/selector";
import Footer from "../src/containers/footer";

class App extends Component {
  renderLoading() {
    return <LoaderApp />;
  }

  render() {
    return (
      <Router>
        <div className="App">
        <Selector/>
          <header className="App-header">
          <Switch>
            <Route exact path="/" component={FormSignin} />
            <PrivateRoute exact path="/dashboard" component={Dashboard} 
            />
            </Switch>
          </header>
          <Footer/>
        </div>
      </Router>
    );
  }
}

export default App;

Что ожидается (работает в dev): dev

Что на самом деле происходит при сборке prod: prodIssue

1 Ответ

0 голосов
/ 14 июня 2019

Это сработало для меня, наконец.

    import React, { Component } from "react";
    import "./App.css";
    import FormSignin from "./containers/form/form.js";
    import { HashRouter, BrowserRouter, Route, Switch } from "react-router-dom";
    import Dashboard  from "./containers/dashboard/dashboard.js";
    import { PrivateRoute } from "./components/PrivateRoute.js";
    import LoaderApp from "./components/loader.js";
    import Selector from "../src/components/selector";
    import Footer from "../src/containers/footer";

    class App extends Component {
      renderLoading() {
        return <LoaderApp />;
      }

      render() {
        return (
          <BrowserRouter>
            <div className="App">
            <Selector/>
              <header className="App-header">
                <Switch>
                <PrivateRoute path="/dashboard" component={Dashboard} />

                  <HashRouter>            
                    <Route exact path="/" component={FormSignin} />
                  </HashRouter>
                </Switch>
              </header>
              <Footer/>
            </div>
          </BrowserRouter>
        );
      }
    }

    export default App;
...