webpack ——代码分割ensure
来源:互联网 发布:3b代码编程及图案 编辑:程序博客网 时间:2024/06/05 19:01
require.ensure 异步加载(代码切割) 把js模块给独立导出一个.js文件,然后使用这个模块的时候, webpack会构造script dom元素,由浏览器发起异步请求这个js文件。mapBtn.click(function() { require.ensure([], function() { var baidumap = require('./baidumap.js') //baidumap.js放在我们当前目录下 }) })
分析: require.ensure这个函数是一个代码分离的分割线,表示 回调里面的require 是我们想要进行分割出去的,即require(’./baidumap.js’),把baidumap.js分割出去,形成一个 webpack打包的单独js文件。当然ensure里面也是可以写一些同步的require的,比如var sync = require('syncdemo.js') //下面ensure里面也用到 mapBtn.click(function() { require.ensure([], function() { var baidumap = require('./baidumap.js') //baidumap.js放在我们当前目录下 var sync = require('syncdemo.js') //这个不会独立出去,因为它已经加载到模块缓存中了 }) })
ensure的第一个参数[] 是它依赖的异步模块的数组;第二个参数为回调函数,第三个参数为模块名,用于构建时生成文件名使用。注意:require.ensure模块只会被下载下来不会被执行,只有当回调函数使用require时这个模块才会被执行实例://同步加载:util-sync是立即马上依赖的工具箱。但是它又非常的大,所以将其配置打包成一个公共模块, 利用浏览器的并发加载,加快下载速度 var util_sync = require('./util-sync.js') alert(util_sync.data) document.getElementById("aBtn").onclick = function() { require.ensure([], function() { //workA-async不是entry.js必须有的,即可能发生的操作,那么我们把 他们利用异步加载,当发生的时候再去加载就行了 var awork = require('./workA-async.js') alert(awork.data) //异步里面再导入同步模块--实际是使用同步中的模块 var util1 = require('./util-sync.js') }) } document.getElementById("bBtn").onclick = function() { require.ensure([], function() { var bwork = require('./workB-async.js') alert(bwork.data) }) }
阅读全文
0 0
- webpack ——代码分割ensure
- webpack代码分割-使用require.ensure
- webpack代码分离 ensure
- webpack简单代码分割
- webpack代码分离 ensure 看了还不懂,你打我
- webpack学习笔记(代码分割,按需加载)
- webpack代码分割(https://webpack.js.org/guides/code-splitting/)
- webpack: require.ensure与require AMD的区别
- vue按需加载组件-webpack require.ensure
- vue按需加载组件-webpack require.ensure
- 【webpack】——初识
- webpack manifest.js分割的一个错误
- webpack入门(六)——html-webpack-plugin
- webpack入门(三)——webpack 配置
- webpack入门(一)——webpack 介绍
- webpack入门(二)——webpack使用
- webpack入门(四)——webpack loader 和plugin
- webpack入门(五)——webpack 故障处理
- LLE(局部线性嵌入)
- Kimball关于维度的讲解摘要
- java学习——java基础(八)之java进阶及新特性
- cropper试试
- Longest Substring Without Repeating Characters leetcode java
- webpack ——代码分割ensure
- DOM事件处理程序
- MainActivity.this是什么意思以及为什么这样表达
- centos7下jdk神奇消失?
- eclipse for C++ 导入文件夹(Mac)
- Hadoop 2.x环境搭建
- I/O流--1
- java面试基础知识(二)
- kimball的维度的缓慢变化总结