其实用的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小时内与您取得联系。