两种方法:

1.webpack的methods----require.ensure

2.ES 2015的Loader spec

//require.ensure语法
require.ensure
[]:dependencies
callback
errorCallback
chunkName

require.include当两个子模块都引用了一个第三方 的模块,就可以将这个第三方的模块放到父模块中;subPageA.js和subPageB.js都依赖moduleA.js

语法:

 require.include('./moduleA')

代码分割的使用场景:

1.分离业务代码与第三方依赖;

2.分离业务代码和业务公共代码 和第三方依赖

3.分里首次加载和访问后加载的代码

一.require.ensure的使用代码:

    require.ensure(['./subPageA'],function () {
var subpageA = require('./subPageA')
},'aaa') require.ensure(['./subPageB'],function () {
var subpageB = require('./subPageB')
},'bbb') require.ensure(['lodash'],function () {
var _ = require('lodash')
_.join(['1','2'],'3')
},'ooo')

import动态加载的语法:

 import().then()

具体使用:

 import(
/*webpackChunkName:async-chunk-name*/
/*webpackMode:lazy*/
modulename
)

业务代码:

 import (/* webpackChunkName:'subpageA */ './subPageA')
.then(function (subPageA) {
console.log(subPageA)
}) import (/*webpackChunkName:'subPageB'*/ './subpageB')
.then(function (subpageB) {
console.log(subpageB)
})

webpack的代码分割/离的更多相关文章

  1. React配合Webpack实现代码分割与异步加载

    这是Webpack+React系列配置过程记录的第四篇.其他内容请参考: 第一篇:使用webpack.babel.react.antdesign配置单页面应用开发环境 第二篇:使用react-rout ...

  2. webpack:代码分割与按需加载

    代码分割就是我们根据实际业务需求将代码进行分割,然后在合适的时候在将其加载进入文档中. 代码中总有些东西我们希望拆分开来,比如: 使用概率较低的模块,希望后期使用的时候异步加载 框架代码,希望能利用浏 ...

  3. webpack散记---代码分割 和 懒加载

    webpack methods ES 2015 Loader spec (1)webpack methods方法 require.ensure //可以动态加载依赖 []:dependencies / ...

  4. webpack练手项目之easySlide(二):代码分割(转)

    在上一篇 webpack练手项目之easySlide(一):初探webpack  中我们一起为大家介绍了webpack的基本用法,使用webpack对前端代码进行模块化打包. 但是乍一看webpack ...

  5. webpack 代码分割一点事

    webpack 俨然已经成为前端最主流的构建工具,其功能多种多样,我们今天就来分析下关于代码分割这部分的一点事,并在最后讲述如何实现在webpack编译出的代码里手动添加一个异步chunk. 什么是c ...

  6. webpack优化之玩转代码分割和公共代码提取

    前言 开发多页应用的时候,如果不对webpack打包进行优化,当某个模块被多个入口模块引用时,它就会被打包多次(在最终打包出来的某几个文件里,它们都会有一份相同的代码).当项目业务越来越复杂,打包出来 ...

  7. webpack练手项目之easySlide(二):代码分割

    Hello,大家好. 在上一篇 webpack练手项目之easySlide(一):初探webpack  中我们一起为大家介绍了webpack的基本用法,使用webpack对前端代码进行模块化打包. 但 ...

  8. webpack中css文件的代码分割

    module.exports = { output: { filename: '[name].js', chunkFilename: '[name].chunk.js', path: path.res ...

  9. Webpack之optimization.splitChunks代码分割插件的配置

    SplitChunkPlugin插件配置参数详解 对引入的库代码(例如:lodash.jQuery等)进行代码的分割进行优化 若配置时只写chunks:"all",其余则为默认配置 ...

随机推荐

  1. java 实现唯一ID生成器

      2014-11-08 内容存档在evernote,笔记名"java 实现唯一ID生成器"

  2. Ubuntu菜鸟入门(十六)—— 安装视频播放器vlc

    sudo add-apt-repository ppa:videolan/master-daily sudo apt-get update sudo apt-get install vlc Ubunt ...

  3. k8s实战读书笔记

    一.概述 kubernetes中Service是真实应用的抽象,将用来代理Pod,对外提供固定IP作为访问入口,这样通过访问Service便能访问到相应的Pod,而对访问者来说只需知道Service的 ...

  4. Android--ListView 分割线

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout ...

  5. MS SQL Server查询优化方法 查询速度慢的原因很多,常见如下几种

    1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大 ...

  6. mysqldump脚本crontab执行失败,但是手动执行成功

    检查备份时发现,cron中定时备份mysql的脚本备份失败,但是手动自行mysql备份脚本却能正常成功 检查cron的环境变量: # cat /etc/crontab ... SHELL=/bin/s ...

  7. app-framework学习--官网地址及demo下载地址

    一起学习共同进步,加油..! 官网地址:http://app-framework-software.intel.com/ 下载地址:http://download.csdn.net/detail/ha ...

  8. markdown中的锚点处理

    markdown markdown是一个相对简单的DSL,定义了简单的标签来描述html文档格式. 比如: #一级标题 来生成html <h1>一级标题<h1> ##二级标题 ...

  9. mark CodeGenerator

    基础权限开发框架 BMS = Spring boot + Mybatis plus + Shiro     BMS / bms-admin  / src  / main  / java  / com  ...

  10. 常用代码之七:静态htm如何包含header.htm和footer.htm。

    要实现这个有多种解决方案,比如asp, php, 服务器端技术,IFrame等,但本文所记录的仅限于用jQuery和纯htm的解决方案. <head> <title></ ...