Rumah hujung hadapan web tutorial js react-router4 配合webpack require.ensure 实现异步加载(详细教程)

react-router4 配合webpack require.ensure 实现异步加载(详细教程)

Jun 11, 2018 pm 03:10 PM
webpack Pemuatan tak segerak

本篇文章主要介绍了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;
  }
}
Salin selepas log masuk

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

bundle-loader?lazy&name=[name]!
Salin selepas log masuk

比如:

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

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

<Route path="/list" component={List} />
Salin selepas log masuk

以及配置output的chunkFilename

chunkFilename: &#39;[name]-[id].[chunkhash:4].bundle.js&#39;
Salin selepas log masuk

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

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

const List = (props) => (
  <Bundle load={ListComponent}>
    {(List) => <List {...props}/>}
  </Bundle>
);
Salin selepas log masuk

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

使用JS如何实现瀑布流插件

在JS中如何实现将html转为pdf功能

使用JS如何实现粘贴板复制功能

在JS中如何实现offset和匀速动画

在Bootstrap中如何实现表格合并单元格

在JavaScript中如何实现获取select下拉框中第一个值

在AngularJS中如何做到实时获取并显示密码

Atas ialah kandungan terperinci react-router4 配合webpack require.ensure 实现异步加载(详细教程). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mendedahkan pengecualian Ajax dan senarai cara untuk menyelesaikan ralat Mendedahkan pengecualian Ajax dan senarai cara untuk menyelesaikan ralat Jan 30, 2024 am 08:33 AM

Anomali Ajax mendedahkan, cara menangani pelbagai ralat memerlukan contoh kod khusus Pada 2019, pembangunan bahagian hadapan telah menjadi kedudukan penting yang tidak boleh diabaikan dalam industri Internet. Sebagai salah satu teknologi yang paling biasa digunakan dalam pembangunan bahagian hadapan, Ajax boleh merealisasikan pemuatan halaman tak segerak dan interaksi data, dan kepentingannya terbukti dengan sendirinya. Walau bagaimanapun, pelbagai ralat dan pengecualian sering dihadapi apabila menggunakan teknologi Ajax Cara menangani ralat ini adalah masalah yang mesti dihadapi oleh setiap pembangun bahagian hadapan. 1. Ralat rangkaian Apabila menggunakan Ajax untuk menghantar permintaan, ralat yang paling biasa ialah

Berurusan secara berkesan dengan situasi di mana jQuery .val() tidak berfungsi Berurusan secara berkesan dengan situasi di mana jQuery .val() tidak berfungsi Feb 20, 2024 pm 09:36 PM

Tajuk: Kaedah dan contoh kod untuk menyelesaikan jQuery.val() tidak berfungsi Dalam pembangunan bahagian hadapan, jQuery sering digunakan untuk mengendalikan elemen halaman. Antaranya, mendapatkan atau menetapkan nilai elemen bentuk adalah salah satu operasi biasa. Biasanya, kami menggunakan kaedah .val() jQuery untuk beroperasi pada nilai elemen bentuk. Walau bagaimanapun, kadangkala anda menghadapi situasi di mana jQuery.val() tidak berfungsi, yang mungkin menyebabkan beberapa masalah. Artikel ini akan memperkenalkan cara menangani jQuery.val(

Cara membaca html Cara membaca html Apr 05, 2024 am 08:36 AM

Walaupun HTML sendiri tidak boleh membaca fail, pembacaan fail boleh dicapai melalui kaedah berikut: menggunakan JavaScript (XMLHttpRequest, fetch()); menggunakan bahasa sebelah pelayan (PHP, Node.js menggunakan perpustakaan pihak ketiga (jQuery. get() , axios, fs-extra).

c# Apakah itu delegasi dan apakah masalah yang diselesaikannya? c# Apakah itu delegasi dan apakah masalah yang diselesaikannya? Apr 04, 2024 pm 12:42 PM

Perwakilan ialah jenis rujukan selamat jenis yang digunakan untuk menghantar penunjuk kaedah antara objek untuk menyelesaikan masalah pengaturcaraan tak segerak dan pengendalian acara: Pengaturcaraan tak segerak: Perwakilan membenarkan kaedah dilaksanakan dalam urutan atau proses yang berbeza, meningkatkan responsif aplikasi. Pengendalian acara: Perwakilan memudahkan pengendalian acara, membenarkan acara seperti klik atau pergerakan tetikus dibuat dan dikendalikan.

Mod pengoptimuman utama untuk meningkatkan kelajuan tapak web, setiap pembangun bahagian hadapan mesti menguasai! Mod pengoptimuman utama untuk meningkatkan kelajuan tapak web, setiap pembangun bahagian hadapan mesti menguasai! Feb 02, 2024 pm 05:36 PM

Perkara yang mesti dimiliki oleh pembangun bahagian hadapan: kuasai mod pengoptimuman ini dan buat tapak web anda terbang! Dengan perkembangan pesat Internet, laman web telah menjadi salah satu saluran penting untuk promosi dan komunikasi korporat. Tapak web yang berprestasi baik, memuatkan pantas bukan sahaja meningkatkan pengalaman pengguna, tetapi juga menarik lebih ramai pelawat. Sebagai pembangun bahagian hadapan, adalah penting untuk menguasai beberapa corak pengoptimuman. Artikel ini akan memperkenalkan beberapa teknik pengoptimuman bahagian hadapan yang biasa digunakan untuk membantu pembangun mengoptimumkan tapak web mereka dengan lebih baik. Fail termampat Dalam pembangunan laman web, jenis fail yang biasa digunakan termasuk HTML, CSS dan J

Bagaimana untuk mengelakkan pengalihan halaman dalam WordPress? Bagaimana untuk mengelakkan pengalihan halaman dalam WordPress? Mar 05, 2024 am 09:33 AM

Bagaimana untuk mengelakkan pengalihan halaman dalam WordPress? Dalam pembangunan laman web, kadangkala kami ingin melaksanakan tetapan bukan lompat halaman dalam WordPress, iaitu semasa operasi tertentu, kandungan halaman boleh dikemas kini tanpa menyegarkan keseluruhan halaman. Ini meningkatkan pengalaman pengguna dan menjadikan tapak web lebih lancar. Seterusnya, kami akan berkongsi cara melaksanakan tetapan bukan lompat halaman dalam WordPress dan memberikan contoh kod khusus. Pertama, kita boleh menggunakan Ajax untuk menghalang halaman daripada melompat. Ajax

Perkongsian petua pengoptimuman fungsi carian PHP Perkongsian petua pengoptimuman fungsi carian PHP Mar 06, 2024 am 11:12 AM

Fungsi carian PHP sentiasa menjadi bahagian yang sangat penting dalam pembangunan laman web, kerana pengguna sering menggunakan kotak carian untuk mencari maklumat yang mereka perlukan. Walau bagaimanapun, banyak laman web mempunyai masalah seperti kecekapan rendah dan hasil carian yang tidak tepat semasa melaksanakan fungsi carian. Untuk membantu anda mengoptimumkan fungsi carian PHP, artikel ini akan berkongsi beberapa petua dan memberikan contoh kod khusus. 1. Gunakan enjin carian teks penuh, pangkalan data SQL tradisional adalah kurang cekap apabila memproses kandungan teks dalam jumlah yang besar. Oleh itu, adalah disyorkan untuk menggunakan enjin carian teks penuh, seperti Elasticsearch, Solr, dsb.

Bagaimana untuk memperkenalkan js luaran ke dalam html Bagaimana untuk memperkenalkan js luaran ke dalam html Apr 11, 2024 am 06:18 AM

Untuk memasukkan fail JS luaran dalam HTML, gunakan teg <script> dan tentukan URL fail untuk dimuatkan. Anda juga boleh menentukan jenis, tangguh atau atribut tak segerak untuk mengawal cara pemuatan dan pelaksanaan berlaku. Lazimnya, teg <script> hendaklah diletakkan di bahagian bawah bahagian <body> untuk mengelak daripada menyekat pemaparan halaman.

See all articles