webpack面试

什么是webpack和grunt和gulp有什么不同?

webpack是一个模块打包器,他可以递归的打包项目中的所有模块,最终生成几个打包后的文件。它和其他工具最大的不同在于它支持code-splitting(代码分割)、模块化(AMD,ESM,CommonJS)开发、全局分析(他会分析整个项目下跟你应用有关的模块)。

什么是bundle,chunk,module?

bundle是由webpack打包出来的最终文件。chunk是webpack进行模块的依赖分析时候,代码分割出来的代码块。module是开发中的单个模块。

什么是loader、plugin?

loaders是用来告诉webpack如何转化处理某一类型的文件,并且引入到打包出的文件中。plugin是用来自定义打包过程的方式,一个插件一定含有apply方法,通过这个方法参与到整个打包流程。

如何自动生成webpack配置?

webpack-cli、vue-cli

webpack-dev-server和http服务器如nginx有什么区别?

webpack-dev-servers使用内存来储存webpack开发环境下的打包文件,并且可以使用模块热更新,比传统http服务对开发更加高效。

模块热更新?

它是webpack的一个功能,可以使得代码修改过后不用刷新浏览器就可以更新,是高级版的自动刷新浏览器。

什么是长缓存?

浏览器在用户访问页面时候,为了加快访问速度,都会对用户访问的静态资源进行储存,但每一次代码升级和更新,都需要浏览区去下载新的代码,最方便和简单的更新方式就是引入新的文件名称。在webpack中可以在output给文件指定chunkhash,并且分离经常更新的代码和框架代码,通过namedModulesPlugin再次使打包文件名不变。

什么是tree-shaking? css可以tree-shaking吗?

指打包中去除那些引入了但在代码中没用到的死代码。在wepack中js treeshaking通过UglifyJsPlugin来进行,css中通过purify-CSS来进行.

 



作者:LoveBugs_King
链接:https://www.jianshu.com/p/d8a69ce2e7f9
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值