2019-08 下旬 ✅

# 2019-08-31: null 和 undefined 的区别 ✅

好好想想先 😌

# 2019-08-30: 什么是 SSE ? 如何实现 ? 和 WebSocket 有什么区别 ? ✅

好好想想先 😌

# 2019-08-29: 如何用 webpack 打包组件库 ✅

好好想想先 😌

# 2019-08-28: optimization 配置细节 ✅

好好想想先 😌

# 2019-08-27: 如何提升打包速度 ✅

好好想想先 😌

# 2019-08-26: 在国际化应用中,如何实现多国家差异化打包 ✅

好好想想先 😌

# 2019-08-25: 什么是 tree shaking,如何实现 ✅

好好想想先 😌

# 2019-08-24: 解释 AMD, CMD, CommonJS, ES Module, UMD ✅

好好想想先 😌
  • 参考链接

  • 一句话

    • AMD(Asynchronous Module Definition) - require js
    • CMD - sea js
      • 1、AMD 推崇依赖前置,在定义模块的时候就要声明其依赖的模块
      • 2、CMD 推崇就近依赖,只有在用到某个模块的时候再去 require
    • CommonJS - node js
    • ES Module - es6
    • UMD - amd 和 common js 结合
    ;(function (window, factory) {
      if (typeof exports === 'object') {
        module.exports = factory()
      } else if (typeof define === 'function' && define.amd) {
        define(factory)
      } else {
        window.eventUtil = factory()
      }
    })(this, function () {
      //module ...
    })
    

# 2019-08-23: webpack 模块打包原理 ✅

好好想想先 😌
  • 参考链接
  • 一句话 会基于 AST 将模块转化为如下格式
    function(module, exports, __webpack_require__) {
      var b = __webpack_require__(1);
      console.log('a');
      b.b1();
    }
    

# 2019-08-22: webpack 3 和 4 的区别 ✅

好好想想先 😌

# 2019-08-21: babel preset stage 0 1 2 3 的区别 ✅

好好想想先 😌