美文网首页
React 代码分割

React 代码分割

作者: 请叫我missp | 来源:发表于2019-07-29 17:39 被阅读0次
代码分割
  • webpack 处理方式常用有三种
    ① 入口起点:使用 entry 配置手动地分离代码。
    ② 防止重复:使用 SplitChunksPlugin 去重和分离 chunk。
    ③ 动态导入:通过模块中的内联函数调用来分离代码。本质是通过返回Promise的方式实现异步加载功能

本文重点讲解关于第三种方法 dynamic imports
当涉及到动态代码拆分时,webpack 提供了两个类似的技术。
①使用符合 ECMAScript 提案import() 语法 来实现动态导入。
②使用 webpack 特定的 require.ensure
在我的项目中我用的比较多的是②
下面贴代码

<Route path="/" component={Root}>
        <IndexRoute getComponent={(nextState, callback) => {
            require.ensure([], function (require) {
                callback(null, require('./pages/login'));
            });

        }}>
</Route>

此法得益于react-router 体用的动态路由功能

  • react-router 提供的动态路由
    React Router 里的路径匹配以及组件加载都是异步完成的,不仅允许你延迟加载组件,并且可以延迟加载路由配置
    Route 可以定义 getChildRoutesgetIndexRoutegetComponents 这几个函数。它们都是异步执行,并且只有在需要时才被调用。我们将这种方式称之为 逐渐匹配

相关文章

  • React 代码分割

    代码分割 webpack 处理方式常用有三种① 入口起点:使用 entry 配置手动地分离代码。② 防止重复:...

  • React 代码分割

    大部分React应用使用打包器来管理我们的代码。打包器可以将我们的各个文件打包成一个“bundle”,这样在页面加...

  • react-router4代码分割

    react-router4代码分割 react-router4官方文档: https://reacttrainin...

  • 高级

    代码切割 懒加载 React.lazy React.lazy 目前只支持默认导出 异常捕获边界 基于路由的代码分割...

  • Cannot read property 'call' of u

    出现前提 使用了react代码分割 使用了cdn部署静态资源文件 服务端有缓存 原因 由于使用了代码分割,所以加载...

  • doc

    代码分割 动态 import React.Lazy webpack Context 提供在多个组件之间共享值得功能...

  • React 代码分割&错误边界(6)

    代码分割 import 静动态导入 静态导入:static import import xxx from 'xxx...

  • react学习笔记(三)

    代码分割: 大多数 React 应用都会使用Webpack或Browserify这类的构建工具来打包文件。打包是一...

  • react异步加载组件与代码分割

    继续学习github高赞项目react-pxq 项目router中引入了路由组件,使用了异步加载的模式 异步加载组...

  • 代码分割

    代码分割:当两个文件同时引用同一个模块时时,将其抽取出来官方例子 懒加载(动态加载):通过某个条件动态加载js文件...

网友评论

      本文标题:React 代码分割

      本文链接:https://www.haomeiwen.com/subject/ofpbrctx.html