返回专题

专题 2018

Webpack 原理

Webpack 原理 相关笔记

Webpack原理解析面试题
  • Bundle 原理

    JavaScript
    function bundle(graph: Graph): string {
        let modules = '';
      
        graph.forEach(mod => {
          modules += `${mod.id}: [
            function (require, module, exports) {
              ${mod.code}
            },
            ${JSON.stringify(mod.mapping || {})},
          ],`;
        });
      
        const result = dedent`
          (function(modules) {
            function require(id) {
              const [fn, mapping] = modules[id];
      
              function localRequire(name) {
                return require(mapping[name]);
              }
      
              const module = { exports : {} };
      
              fn(localRequire, module, module.exports);
      
              return module.exports;
            }
      
            return require(0);
          })({${modules}})
        `;
      
        return result;
      }
    
返回首页
上一篇WeakMap 弱引用下一篇微前端

Discussion

留言与讨论

想法、补充和不同意见都欢迎。