全网整合营销服务商

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

免费咨询热线: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中的应用代码解析  # 的是  # 加载  # 一句  # 按需  # 这一  # 在此  # 也能  # 可以用  # 少了  # 或者是  # 只想  # 不支持  # 已经完全  # 不打算  # 先看  # 大家多多  # 废了  # 文档  # 使用了 


相关文章: 如何通过.red域名打造高辨识度品牌网站?  如何撰写建站申请书?关键要点有哪些?  贸易公司网站制作流程,出口贸易网站设计怎么做?  nginx修改上传文件大小限制的方法  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  实例解析angularjs的filter过滤器  建站主机选择指南:服务器配置与SEO优化实战技巧  如何通过服务器快速搭建网站?完整步骤解析  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  建站主机选购指南与交易推荐:核心配置解析  ,石家庄四十八中学官网?  营销式网站制作方案,销售哪个网站招聘效果最好?  音乐网站服务器如何优化API响应速度?  制作网站的公司有哪些,做一个公司网站要多少钱?  建站之星导航配置指南:自助建站与SEO优化全解析  高性价比服务器租赁——企业级配置与24小时运维服务  非常酷的网站设计制作软件,酷培ai教育官方网站?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  网站制作知乎推荐,想做自己的网站用什么工具比较好?  宝塔Windows建站如何避免显示默认IIS页面?  如何在阿里云ECS服务器部署织梦CMS网站?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  实现点击下箭头变上箭头来回切换的两种方法【推荐】  海南网站制作公司有哪些,海口网是哪家的?  如何通过免费商城建站系统源码自定义网站主题与功能?  制作公司内部网站有哪些,内网如何建网站?  如何在云主机上快速搭建网站?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  网站制作话术技巧,网站推广做的好怎么话术?  ,南京靠谱的征婚网站?  深入理解Android中的xmlns:tools属性  香港服务器网站推广:SEO优化与外贸独立站搭建策略  C#如何在一个XML文件中查找并替换文本内容  ,交易猫的商品怎么发布到网站上去?  学校为何禁止电信移动建设网站?  如何通过商城自助建站源码实现零基础高效建站?  如何快速启动建站代理加盟业务?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  如何在景安云服务器上绑定域名并配置虚拟主机?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  如何在阿里云通过域名搭建网站?  建站之星安装后如何自定义网站颜色与字体?  c# await 一个已经完成的Task会发生什么  深圳网站制作平台,深圳市做网站好的公司有哪些?  完全自定义免费建站平台:主题模板在线生成一站式服务  制作农业网站的软件,比较好的农业网站推荐一下?  如何在阿里云购买域名并搭建网站? 

您的项目需求

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