webpack面试

作者: LoveBugs_King | 来源:发表于2018-09-06 17:01 被阅读273次

    什么是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来进行.

    相关文章

      网友评论

      本文标题:webpack面试

      本文链接:https://www.haomeiwen.com/subject/umdtrftx.html