2017-06-07 18 views
7

Şu anda create-react-app ile dolaşıyorum ve şu anda kod bölme yapıyorum. Her yığına dahil edilecek olan satıcı kütüphanelerini almaya başladım.Kod bölme ile satıcıların birden çok kez yüklenmesini nasıl önleyebilirim

App.js

const HomePage = Loadable({ 
    loader:() => import('./Home.js'), 
    LoadingComponent: Loading 
}); 

const AboutPage = Loadable({ 
    loader:() => import('./About.js'), 
    LoadingComponent: Loading 
}); 

class App extends PureComponent { 
    render() { 
    return (
     <Router> 
     <div> 
     <ul> 
     <li><Link to="/">Home</Link></li> 
     <li><Link to="/about">About</Link></li> 
     </ul> 

     <hr/> 

     <Route exact path="/" component={HomePage}/> 
     <Route path="/about" component={AboutPage}/> 
    </div> 
    </Router> 
    ); 
    } 
} 

About.js

import React, { PureComponent } from 'react'; 
import styled from 'styled-components'; 

const Button = styled.button` 
    color: aqua; 
`; 

class AboutPage extends PureComponent { 
    render() { 
    return (
     <div> 
     About 
     <Button>Fooobar!</Button> 
     </div> 
    ); 
    } 
} 

export default AboutPage; 

Home.js

0: benim şimdiki yaklaşım

Şu anda HomePage ve AboutPage

ve AboutPage, şu anda temelde aynıdır, ancak sadece bir oyun alanıdır.

Sorun şu ki: HomePage için yığın ve AboutPage tüm styled-components paketini yükler. Bu bir kez yüklenmeli, değil mi?

enter image description here

resmin üzerinde görebileceğiniz gibi

, 2.chunk.js ve 1.chunk.js hem 121KB vardır. Kod bölme işlemi, paketler birden çok kez içe aktarılır çekilmez, kendi yığınına styled-components hareket edeceğini düşündüm.

Bilgileriniz için: create-react-app kullanıyorum ve eject'u kullanmadım, bu yüzden webpack yapılandırmasının içinde ne olduğunu hiçbir fikrim yok (eğer bu önemli ise).

cevap