2017-04-06 1 views
2

ReactQLは次のように定義されたカップルの「ページ」が付属しています:ReactQLでコードを分割する方法は?ボックスのうち

export default() => (
    <div> 
    <Helmet 
     title="ReactQL application" 
     meta={[{ 
     name: 'description', 
     content: 'ReactQL starter kit app', 
     }]} /> 
    <div className={css.hello}> 
     <img src={logo} alt="ReactQL" className={css.logo} /> 
    </div> 
    <hr /> 
    <GraphQLMessage /> 
    <hr /> 
    <ul> 
     <li><Link to="/">Home</Link></li> 
     <li><Link to="/page/about">About</Link></li> 
     <li><Link to="/page/contact">Contact</Link></li> 
    </ul> 
    <hr /> 
    <Route exact path="/" component={Home} /> 
    <Route path="/page/:name" component={Page} /> 
    <hr /> 
    <p>Runtime info:</p> 
    <Stats /> 
    <hr /> 
    <p>Stylesheet examples:</p> 
    <Styles /> 
    </div> 
); 

しかし、HomePageは同じファイルで定義されたコンポーネントだけです。そのページに移動するまで、そのコードをすべてロードしたくない場合、どのようにコード分割して、それぞれのページを別々のWebpackチャンクに移動するのですか?

ReactQLは、おそらくdoes notというSSRとReact-Routerをサポートしています。私は何を求めているのですか?

答えて

2

作業中のコード分割とSSRの例については、this issueを参照してください。

私は現在、さらに進歩するガイドとヘルパーコンポーネントを開発しており、より定例的なやり方でこれを行う定型文を提供しています。 https://reactql.orgを更新し、完了時、ここに更新を掲載しますhttps://reacttraining.com/react-router/web/guides/code-splitting

を参照してください:

それはルータは確かにリアクトで可能です。

+1

私の心配している部分は、そのページの最下部にあります(https://reacttraining.com/react-router/web/guides/code-splitting/code-splitting-server-rendering)。反応ルータの人たちは、サーバ上でコード分割を行うことができないと述べた。そのGitHubの問題であなたが与えた例は素晴らしいですが、 '。/ test'はハードコードされているので、webpackはそれを解決できます。それを小道具に通すとうまくいくのでしょうか?私はあなたがスターターキットを更新するのを待つだろうと思う。ご協力いただきありがとうございます!素晴らしい図書館。 – mpen

+2

ReactQLはクライアント側と同じ方法でWebpack経由でサーバーバンドルを構築するので、コード分割は両方の環境で同じようにポリ充てんされます。私は、RRの人が手作業で(例えば、非同期のクライアント側ではあるが、サーバー上で同期する)しようとしていたと推測しています。これは、調整がはるかに難しいでしょう。コード分​​割のための 'import()'呼び出しのために静的なインポートが必要ですが、正しいパターンで回避するのは大きな問題ではありません。私はロードマップに追加しました - > https://github.com/leebenson/reactql/issues/10 –

関連する問題