将全局基本名称/上下文添加到React和npm设置

时间:2018-12-10 11:15:49

标签: javascript reactjs npm npm-scripts

我的网址有问题,我不是从本地主机:8081运行应用程序,而是从本地主机: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 :(得分:0)

首先,我是一个初学者。 basename =“ admin”或basename =“ / admin”。

答案 1 :(得分:0)

因此,请在历史记录中添加基本名称,

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

也要更改

 filename: 'bundle.js' -> filename: 'app-[hash].js'