react-router4 配合webpack require.ensure 实现异步加载

本文主要介绍了react-router4 配合webpack require.ensure 实现异步加载的示例,非常具有实用价值,需要的朋友可以参考下,希望能帮助到大家。

实现异步加载的方法,归根结底大都是根据webpack的require.ensure来实现

第一个是自己使用require.ensure实现,

第二种 使用loader实现

今天我们说的是使用bundle-loader来实现,这样代码更优雅些。

首先需要安装bundle-loader ,具体使用npm还是yarn,就看你的包管理使用的是啥了。

下面需要一个bundle.js

import React, { Component } from 'react';export default class Bundle extends Component {  constructor(props) {    super(props);    this.state = {      mod: null    };  }  componentWillMount() {    this.load(this.props);  }  componentWillReceiveProps(nextProps) {    if (nextProps.load !== this.props.load) {      this.load(nextProps);    }  }  load(props) {    this.setState({      mod: null    });    props.load(mod => {      this.setState({        mod: mod.default ? mod.default : mod      });    });  }  render() {    return this.state.mod ? this.props.children(this.state.mod) : null;  }}

登录后复制

然后把bundle.js 引进来,同时也把需要做异步的文件引进来,但是前面需要添加

bundle-loader?lazy&name=[name]!

登录后复制

比如:

import Bundle from './components/bundle.js';import ListComponent from 'bundle-loader?lazy&name=[name]!./file/List.jsx';

登录后复制

下面就是添加路由这块的配置:


登录后复制

以及配置output的chunkFilename

chunkFilename: '[name]-[id].[chunkhash:4].bundle.js'

登录后复制

chunkFilename配置好以后,异步加载进来的文件名称就会按照上面的命名方式来展示,如果不配置,就是webpack给生成的数字了。

上面的都配置好了以后,就是怎么使用bundle了,你看到route上配置的component对应的是List,所以我们需要写一个List:

const List = (props) => (      {(List) => }  );

登录后复制

到这里基本上就配置完了,这个时候你本地重启服务,然后点击对应的路由,就会看到异步记载的js:List-0.094e.bundle.js

相关推荐:

使用DataTable插件实现异步加载数据详解

实现JavaScript文件同步和异步加载的方法讲解

javascript如何解决异步加载实现方式总结

以上就是react-router4 配合webpack require.ensure 实现异步加载的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2790657.html

(0)
上一篇 2025年3月8日 18:59:41
下一篇 2025年3月8日 18:59:59

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • vue、node、webpack环境搭建教程详解

    本文主要为大家详细介绍了vue+node+webpack环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。 一、环境搭建 注意node的版本,只有支持和谐模式的node才会支持es6,在基于webpack构建…

    2025年3月8日 编程技术
    200
  • webpack后端渲染详解

    本文主要介绍了webpack配置之后端渲染详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 webpack配置之后端渲染2017年, vue, react, angular 已经占据前端的…

    2025年3月8日
    200
  • React 和Webpack构建打包优化实例详解

    本文主要介绍了浅谈react + webpack 构建打包优化,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 使用 babel-react-optimize 对 React 代码进行优化 检…

    2025年3月8日
    200
  • node.js中的npm和webpack配置方法详解

    node.js用c++语言编写而成的,是一个基于chrome v8引擎的javascript运行环境,让javascript的运行脱离浏览器服务端,可以使用javascript语言书写服务器端代码,主要介绍了详解node.js中的npm和w…

    2025年3月8日
    200
  • webpack配置方法小结

    大家都知道webpack如何配置吗?本文主要和大家分享webpack实用配置方法总,也给大家做个参考,希望能帮助到大家。 1、webpack.config.js配置文件为: //处理共用、通用的jsvar webpack = require…

    编程技术 2025年3月8日
    200
  • 实例详解vue-cli中的webpack配置

    本文主要介绍了vue-cli中的webpack配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 版本号 vue-cli 2.8.1 (终端通过vue -V 可查看) vue 2.2.2…

    编程技术 2025年3月8日
    200
  • Web使用webpack构建前端项目的实例代码

    当下最为流行的就是webpack和gulp了, 之前一篇我们讲了gulp, 这一篇我们来好好讨论webpack.本文主要和大家介绍web使用webpack构建前端项目,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看…

    2025年3月8日
    200
  • webpack打包koa2框架app实例详解

    以前在用koa写server的时候,发布简直是噩梦。需要将src里面的全部文件都覆盖掉,config配置文件也要覆盖,稍有不慎就会线上报各种各样的问题,然后就得回退,本地调好在发布。偶然看见一篇文章讲 如何使用webpack打包koa ap…

    编程技术 2025年3月8日
    200
  • webpack、vue、node实现单页面代码分享

    本文主要和大家介绍webpack + vue + node 打造单页面(入门篇) ,非常具有实用价值,需要的朋友可以参考下,希望能帮助到大家。 1.node下载地址:http://nodejs.cn/download/,安装完成检查node…

    2025年3月8日 编程技术
    200
  • Webpack服务器端代码打包实例详解

    环境变量 之前,我们在项目里会经常使用 process.env.NODE_ENV, 但这个变量对于 webpack打包是有影响的, 在 production 的时候是有优化的.本文主要和大家介绍Webpack 服务器端代码打包的示例代码,小…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论