前端常见问题

66 阅读1分钟

前端为何要进行打包和构建

代码相关

    体积更小
    tree-shaking
    压缩
    合并
    懒加载
    编译更高级语法  如:ES6及以上  TS  Scss  less
    兼容性
    错误检查
    Polyfill
    Postcss
    eslint

工程相关

    统一 ,高效的开发环境
    统一构建流程以及产出标准
    集成公司构建规范 ( 提测  上线等 )
    

为何Proxy不能被Polyfill

例: 
    class可以被Function模拟
    Promise可以被CallBack模拟
    Object.defineProperty并不能完美模拟Proxy
    

webpack优化构建速度

可用于生产

 优化babel-loader
 IgnorePlugin
 noParse
 happyPack
 parallelUglifyPlugin
 

不可用于生产

 自动刷新
 热更新
 DllPlugin
 

ES Module和 Commonjs区别

 笼统讲: 
   ES Module静态引入 编译时引入
   Commonjs动态引入  执行至引入
   只有静态引入  才能静态分析  从而tree-Shaking