【发布时间】:2017-02-07 00:17:03
【问题描述】:
我正在使用 require.ensure 在 react-router 路径上创建分割点。但是,除了vendor.js 之外,我的构建目录仍然只有app.js。我期待我使用的每个路径都有一个单独的 js 文件require.ensure。
我在每条路径上都使用了require.ensure,如下所示:
<Route path= 'auth' getComponent={(nextState, callback) => {
require.ensure([], (require) => {
callback(null, require('containers/Authenticate/AuthenticateContainer.js').default)
}, 'auth')
}}/>
我的构建的 web pack 配置输出如下所示:
output: {
path: PATHS.build,
filename: '/[name].[chunkhash].js',
chunkFilename: '/[chunkhash].js'
}
这里是我的route file 和我的webpack config file 的全部要点。
更新:我知道我做错了什么。我的容器项目结构是这样的:
-app
-containers
-containerA.
-containerA.js
-containerB
-containerB.js
-containerC
-containerC.js
-index.js
问题:我仍在导出路由文件中需要的容器,如下所示:export containerB from './containerB/containerB' 删除 index.js 中的导出并直接从 containerB.js 中要求就可以了。
【问题讨论】:
标签: reactjs webpack lazy-loading react-router code-splitting