小编Thi*_*ary的帖子

延迟加载react-router-dom,webpack不工作

我尝试使用react-router-dom延迟加载路由,但它不起作用。Webpack 应该在 import() 上自动分割块,但事实并非如此,我总是得到一个 main.hash.js 文件而不是多个块。我有什么遗漏的吗?

应用程序组件:

import * as React from 'react';
import { Route, BrowserRouter, Link } from 'react-router-dom';
const Todos = React.lazy(() => import('routes/Todos'))

class App extends React.Component<{}, {}> {
  render() {
    return (
      <>
        <BrowserRouter>
          <React.Suspense fallback={<div>loading...</div>}>
            <Route exact path="/" render={() => <Link to="/todos">Todos</Link>} />
            <Route exact path="/todos" component={Todos} />
          </React.Suspense>
        </BrowserRouter>
      </>
    )
  }
}
export default App;
Run Code Online (Sandbox Code Playgroud)

这是 webpack 配置,以防它可能与某些插件或这边缺少配置有关:

webpack常用配置:

const webpack = require('webpack');

const HtmlWebPackPlugin = require('html-webpack-plugin');
// clean folder (dist in …
Run Code Online (Sandbox Code Playgroud)

lazy-loading reactjs webpack react-router-dom

8
推荐指数
1
解决办法
4741
查看次数

标签 统计

lazy-loading ×1

react-router-dom ×1

reactjs ×1

webpack ×1