Добавьте глобальное базовое имя / контекст в настройки React и npm - PullRequest
0 голосов
/ 10 декабря 2018

У меня проблема с URL, мне нужно запустить приложение не с localhost: 8081, а с localhost: 8081 / admin, поэтому на всех страницах отображается 404, в которых есть / ...., в любом случае главная страница также нене работает хорошо, в index.html у меня есть также тег, пример файла.

<link href="../public/css_admin/fonts/fonts.css" rel="stylesheet"/>

Конфигурация Webpack

var path = require('path');

module.exports = {
    entry: './src/index.jsx',
    output: {
        path: path.resolve('dist'),
        publicPath: '/admin/',
        filename: 'bundle.js'
    },
    resolve: {
        extensions: ['.js', '.json', '.jsx']
    },
    .....
    devServer: {
        contentBase: './',
        historyApiFallback: true,
        host: 'localhost',
        port: 8081
    },
    externals: {
        config: JSON.stringify({
            apiUrl: '..../rest/v1'
        })
    }
}

Маршрут приложения

render() {
        return (
            <Router history={history}  basename="admin">
                <div>                    
                    <Switch>
                        <PrivateRoute exact path="/" component={MainIndexPage} refresh={false} />
                        <PrivateRoute exact path="/staff" component={StaffPage}  refresh={false}  />
                        <Route path="/register" component={RegisterPage} />                   
                    </Switch>
                </div>
             </Router>

    );
}

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

Поэтому, пожалуйста, добавьте базовое имя в историю,

export const history = createBrowserHistory({basename: '/admin'});

Также измените

 filename: 'bundle.js' -> filename: 'app-[hash].js'
0 голосов
/ 10 декабря 2018

Во-первых, я новичок.basename = "admin" или basename = "/ admin".

...