2016-09-29 1 views
2

에서 나는 반응 라우터와 웹팩 코드 분할을 사용하고 있는데 나는이 할 비동기 구성 요소를로드 : Henley Edition's article을 확인한 후 이제문헌 초록 require.ensure의 상투적 인 반응 라우터 getComponent이 작동하지 않는

<Route 
    path="somePath" 
    getComponent={(next, cb) => { 
    require.ensure([], (require) => { 
     cb(null, require('../components/Example.jsx')); 
    }); 
    } 
} 
/> 

을 나는 번들 로더를 사용하지 않고 여전히 상용구를 줄이기 위해 이런 일을 시도했다.

const loadLazy = (component) => { 
    return (next, cb) => { 
    require.ensure([], (require) => { 
     cb(null, require(component)); 
    }); 
    }; 
}; 

... 

<Route 
    path="somePath" 
    getComponent={lazyLoad('../components/Example.jsx')} 
/> 

그러나 이것은 '../components/Example.jsx'모듈을 찾을 수 없습니다 말 콘솔에서 오류가 발생합니다.

왜 작동하지 않습니까?

답변

1

require.ensure은 동적 모듈 경로 (예 : require(component))에서 작동하지 않으므로 참조하는 기사가이 제한을 벗어나는 대신 Webpack's bundle-loader을 사용했습니다.

관련 문제