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 が機能しないのはなぜですか?