我试图了解require.ensure()
实际是如何工作的。特别是,为什么我们需要传递require
给 的回调require.ensure()
?
1. 这有效:
module.exports = (function () {
require.ensure([
"./mod.js" // files that chunk will contain
], function(require) {
console.log(require("./mod.js")); // returns result of mod.js
}, 'mod'); // name of chunk file
但是,如果我将参数的名称更改require
为req
2.这不起作用:
module.exports = (function () {
require.ensure([
"./mod.js" // files that chunk will contain
], function(req) {
console.log(req("./mod.js")); // should return result of mod.js, but doesn't
}, 'mod'); // name of chunk file
它会抛出一个错误:
Uncaught (in promise) TypeError: Cannot read property 'call' of undefined(…)
这来自这一行:
// Execute the module function
modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
为什么示例 #2 不起作用?