• AICC
    2019-07-21
    老师帮忙确认一下以下理解是否正确:
    可以简单的把scope hoisting理解为是把每个模块被webpack处理成的模块初始化函数整理到一个统一的包裹函数里,也就是把多个作用域用一个作用域取代,以减少内存消耗并减少包裹块代码,从每个模块有一个包裹函数变成只有一个包裹函数包裹所有的模块,但是有一个前提就是,当模块的引用次数大于1时,比如被引用了两次或以上,那么这个效果会无效,也就是被引用多次的模块在被webpack处理后,会被独立的包裹函数所包裹

    作者回复: 理解的完全正确。Scope housting对模块的引用次数大于1次是不产生效果的,这个其实也很好理解,如果一个模块引用次数大于1次,那么这个模块的代码会被内联多次,从而增加了打包出来的js bundle的体积。

     1
     9
  • 在路上
    2019-06-19
    老师,更新速度可以加快点点嘛

    作者回复: 可以的,明天继续更

    
     2
  • CodingWith
    2020-01-09
    老师好, 如果是循环引用怎么办呢, 比如a模块引用了b模块, b模块也引用了a模块,那么这两个模块的顺序应该是怎么来判断的呢?
    
    
  • Nathan Chen
    2019-10-01
    老师,可以出一些关于前端优化的课程嘛?

    作者回复: 今年暂时没有性能优化课程的计划,不过相关的文章还是会输出的,可以留意下我的博客哈(https://github.com/cpselvis/blog/issues)

    
    
  • man
    2019-07-15
    建议老师讲解打包后的代码的时候,把多余的代码删一删,留下核心代码,这样好看好理解一些哈。谢谢老师。
    
    
  • man
    2019-07-15
    请问scope hoisting,是把许多个作用域,用一个作用域取代。请问可以这样理解吗?

    作者回复: 可以这么理解,这样可以减少内存消耗,同时可以把包裹块代码减少

    
    
  • man
    2019-07-15
    es6模块引入机制是属于静态的吗?也就是不是在代码执行的时候去引入,而是在没有执行之前就引入了,可以这样理解吗?

    作者回复: 可以这么理解,ES6的import导入模块是静态导入的方式

    
    
  • 范饭飯
    2019-07-08
    其实我一直没懂cjs是什么,麻烦老师解疑

    作者回复: 就是commonjs 规范,比如:Node.js里面的模块加载就是采用commonjs

    
    
  • 飞天
    2019-06-19
    期待动态import,哈哈

    作者回复: 哈哈,明天更新啦

    
    
  • 何用
    2019-06-19
    node_modules 中的代码通常是 commonjs 格式的,这个会影响 scope hoisting 的效果吗
    
    
我们在线,来聊聊吧