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