**require.ensure
require.ensure() 是 webpack 特有的,已经被 import() 取代**
require.ensure(dependencies: String[], callback: function(require), errorCallback: function(error), chunkName: String)
//示例
const home = (location, callback) => {
require.ensure([], require => {
callback(null, require('./HomePage.jsx'))
}, 'home')
}
给定 dependencies 参数,将其对应的文件拆分到一个单独的 bundle 中,此 bundle 会被异步加载。当使用 CommonJS 模块语法时,这是动态加载依赖的唯一方法。意味着,可以在模块执行时才运行代码,只有在满足某些条件时才加载依赖项。
dependencies:字符串构成的数组,声明 callback 回调函数中所需的所有模块。
callback:只要加载好全部依赖,webpack 就会执行此函数。require 函数的实现,作为参数传入此函数。当程序运行需要依赖时,可以使用 require() 来加载依赖。函数体可以使用此参数,来进一步执行 require() 模块。
errorCallback:当 webpack 加载依赖失败时,会执行此函数。
chunkName:由 require.ensure() 创建出的 chunk 的名字。通过将同一个 chunkName 传递给不同的 require.ensure() 调用,我们可以将它们的代码合并到一个单独的 chunk 中,从而只产生一个浏览器必须加载的 bundle。
评论 (0)