动态加载部分代码拆分响应包

时间:2017-11-14 09:53:30

标签: reactjs webpack internationalization

我正在从事大规模的ReactJs应用程序。这个应用程序将包含数千个本地化字符串,所以我决定使用webpack i18n plugin  使用

中的一个本地化生成n捆绑其中的每个人

但这是问题所在。我无法确定用户语言,直到显示登录屏幕,他们填写登录详细信息,在组合框中选择语言,然后按登录按钮。所以我的问题是,是否有可能

  1. 将反应束拆分为登录界面和其他所有内容(我使用具有路由和私有路由的反应路由器)
  2. 在用户按下"登录"之后加载让我们说bundle_en_US chunk;按钮
  3. 提前感谢任何想法

    EDIT添加了routes.js

    // @flow
    import React from 'react'
    import {Redirect , Route} from 'react-router-dom';
    import type {Store} from '../types/TReduxVariables'
    
    import LoginPage from '../scenes/loginPage/LoginPage';
    import Page1 from '../Page1';
    import Page2 from '../Page2';
    
    const getRoutes = (store : Store) => {
        const PrivateRoute = ({ component: Component, ...rest }) => (
            <Route {...rest} render={props => (
                store.getState().isAuthed ? (
                        <Component {...props}/>
                    ) : (
                        <Redirect to={{
                            pathname: '/login'
                        }}/>
                    )
            )}/>
        )
    
        const divStyle = {
            height: '100%',
        };
    
        return (
                <div style={divStyle}>
                    <Route path="/login" component={LoginPage}/>
                    <PrivateRoute exact={true} path="/" component={Page1} />
                    <PrivateRoute path="/page1" component={Page1} />
                    <PrivateRoute path="/page2" component={Page2} />
    
                </div>
        )
    }
    
    export default getRoutes;
    

0 个答案:

没有答案