全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

react开发中如何使用require.ensure加载es6风格的组件

其实用的babel,在浏览器端就应该可以加载,之前少了个default:

require.ensure([],(require) => {
     let A = require('./a.js').default;
})

以下方式也可以,但是比较low,可以作废了:

1、问题提出:想通过require.ensure加载es6风格的模块?

2、出现问题:import方式本身就是静态设计方式。如果require进来的是commonjs模块或者amd则没问题,但项目只想es6一个书写风格,行吗?

遗憾的是:一般语言编译工具(如babel),不支持直接require一个es6风格的React组件。

怎么办??

3、react代码分割方式:

react代码分割常见使用router方式,但是单页面应用,不打算router下,可以用require.ensure进行按需加载

react的api在此:https://webpack.github.io/docs/code-splitting.html

文档中并没有实例,而且现阶段,大部分程序已经完全按照es6风格的代码。

那么怎样让es6模块也能通过require呢?

先看结论:在es6方式书写的模块底部增加一句module.exports=yourclassName

例如:module.exports = Hello;

4、代码举例:

1)Container模块如下:

import React, {Component} from 'react';
export default class Container extends Component {
  constructor() {
    super();
    this.state = {
      currentComponent: null
    }
  }

  doSomething = () => {
    require.ensure(['./app2'], (require) => {
      const Comp = require('./app2');
      this.setState({
        currentComponent: <Comp/>
      })
    })
  };

  render() {
    return (
      <div>
        <span onClick={this.doSomething} style={{border: "1px solid #000"}}>点击后,按需加载如下模块</span>
        {this.state.currentComponent}
      </div>
    )
  }
}

2)app2模块如下

注意:在es6方式写的模块的最底下增加一句:module.exports = Hello;即可

或者app2直接按照commonjs规范或者是amd、cmd规范书写也成。

import React from 'react'
export default class Hello extends React.Component {
  render(){
    return (
      <div>Hello</div>
    )
  }
}
//warning:这一句必须加上,因为在require.ensure中使用了require引入模块
module.exports = Hello;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# require.ensure  # es6  # react  # 详解React开发中使用require.ensure()按需加载ES6组件  # React.js中常用的ES6写法总结(推荐)  # ES6下React组件的写法示例代码  # React中ES5与ES6写法的区别总结  # 利用ES6语法重构React组件详解  # 深入理解React中es6创建组件this的方法  # 深入浅析react native es6语法  # es6在react中的应用代码解析  # 的是  # 加载  # 一句  # 按需  # 这一  # 在此  # 也能  # 可以用  # 少了  # 或者是  # 只想  # 不支持  # 已经完全  # 不打算  # 先看  # 大家多多  # 废了  # 文档  # 使用了 


相关文章: Java解压缩zip - 解压缩多个文件或文件夹实例  图册素材网站设计制作软件,图册的导出方式有几种?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  Bpmn 2.0的XML文件怎么画流程图  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  音响网站制作视频教程,隆霸音响官方网站?  如何将凡科建站内容保存为本地文件?  建站org新手必看:2024最新搭建流程与模板选择技巧  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  建站主机是否等同于虚拟主机?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  建设网站制作价格,怎样建立自己的公司网站?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  建站之星云端配置指南:模板选择与SEO优化一键生成  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  简历在线制作网站免费版,如何创建个人简历?  建站之星代理如何获取技术支持?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  建站之星安装后如何配置SEO及设计样式?  如何快速建站并高效导出源代码?  如何制作算命网站,怎么注册算命网站?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何配置FTP站点权限与安全设置?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  微课制作网站有哪些,微课网怎么进?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  已有域名和空间如何快速搭建网站?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  高防服务器如何保障网站安全无虞?  网站制作需要会哪些技术,建立一个网站要花费多少?  宿州网站制作公司兴策,安徽省低保查询网站?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  如何通过老薛主机一键快速建站?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  如何生成腾讯云建站专用兑换码?  定制建站是什么?如何实现个性化需求?  如何快速搭建高效可靠的建站解决方案?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  如何在橙子建站中快速调整背景颜色?  ,石家庄四十八中学官网?  建站主机选购指南:核心配置优化与品牌推荐方案  C#如何在一个XML文件中查找并替换文本内容  如何快速搭建FTP站点实现文件共享?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。