/**

  • 获取编译钩子函数
  • @param {Compilation} compilation 编译对象
  • @returns {Object} 钩子函数对象 */ static getCompilationHooks(compilation) { // 如果参数 compilation 不是 Compilation 的实例,则抛出类型错误 if (!(compilation instanceof Compilation)) { throw new TypeError( 'The 'compilation' argument must be an instance of Compilation' ); } // 从 compilationHooksMap 中获取钩子函数对象 let hooks = compilationHooksMap.get(compilation); if (hooks === undefined) { // 如果没有获取到,则创建新的钩子函数对象 hooks = { linkPreload: new SyncWaterfallHook(['source', 'chunk']), linkPrefetch: new SyncWaterfallHook(['source', 'chunk']) }; // 将钩子函数对象存储到 compilationHooksMap 中 compilationHooksMap.set(compilation, hooks); } // 返回钩子函数对象 return hooks; }
Webpack 编译钩子函数获取方法详解

原文地址: https://www.cveoy.top/t/topic/oLgZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录