最新公告
  • 欢迎您光临站壳网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 2021前端面试题-webpack-18道-持续更新中。。

    1.webpack与grunt、gulp的不同?

    三者都是前端构建工具,grunt和gulp在早期比较流行,现在webpack相对来说比较主流,不过一些轻量化的任务还是会用gulp来处理,比如单独打包CSS文件等。

    grunt和gulp是基于任务和流(Task、Stream)的。类似jQuery,找到一个(或一类)文件,对其做一系列链式操作,更新流上的数据, 整条链式操作构成了一个任务,多个任务就构成了整个web的构建流程。

    webpack是基于入口的。webpack会自动地递归解析入口所需要加载的所有资源文件,然后用不同的Loader来处理不同的文件,用Plugin来扩展webpack功能。

    所以总结一下:

    • 从构建思路来说 1.gulp和grunt需要开发者将整个前端构建过程拆分成多个Task,并合理控制所有Task的调用关系

    2.webpack需要开发者找到入口,并需要清楚对于不同的资源应该使用什么Loader做何种解析和加工

    • 对于知识背景来说

    gulp更像后端开发者的思路,需要对于整个流程了如指掌 webpack更倾向于前端开发者的思路

    2.与webpack类似的工具还有哪些?谈谈你为什么最终选择(或放弃)使用webpack?

    同样是基于入口的打包工具还有以下几个主流的:

    • webpack
    • rollup
    • parcel

    从应用场景上来看:

    • webpack适用于大型复杂的前端站点构建
    • rollup适用于基础库的打包,如vue、react
    • parcel适用于简单的实验性项目,他可以满足低门槛的快速看到效果
    import 'module';
    import 'module/lib/file';
    复制代码

    resolve.modules中指定的所有目录检索模块。你可以通过配置别名的方式来替换初始模块路径,resolve.alias配置选项。

    如果 package 中包含 package.json 文件,那么在 resolve.exportsFields 配置选项中指定的字段会被依次查找,package.json 中的第一个字段会根据 package 导出指南确定 package 中可用的 export。一旦根据上述规则解析路径后,resolver 将会检查路径是指向文件还是文件夹。

    1. 指向文件:
      • 如果文件具有扩展名,则直接将文件打包。
      • 否则,将使用 resolve.extensions 选项作为文件扩展名来解析,此选项会告诉解析器在解析中能够接受那些扩展名(例如 .js,.jsx)。
    2. 指向一个文件夹,则进行如下步骤寻找具有正确扩展名的文件:
      • 如果文件夹中包含 package.json 文件,则会根据 resolve.mainFields 配置中的字段顺序查找,并根据 package.json 中的符合配置要求的第一个字段来确定文件路径。
      • 如果不存在 package.json 文件或 resolve.mainFields 没有返回有效路径,则会根据 resolve.mainFiles 配置选项中指定的文件名顺序查找,看是否能在 import/require 的目录下匹配到一个存在的文件名。
      • 然后使用 resolve.extensions 选项,以类似的方式解析文件扩展名。

    18.什么是模块热替换

    模块热替换(HMR – hot module replacement)功能会在应用程序运行过程中,替换、添加或删除 模块,而无需重新加载整个页面。

    主要是通过以下几种方式,来显著加快开发速度:

    • 保留在完全重新加载页面期间丢失的应用程序状态。
    • 只更新变更内容,以节省宝贵的开发时间。
    • 在源代码中 CSS/JS 产生修改时,会立刻在浏览器中进行更新,这几乎相当于在浏览器 devtools 直接更改样式。

    参考链接

    https://zhuanlan.zhihu.com/p/44438844

    https://juejin.cn/post/6922351695833858062

    https://blog.csdn.net/leelxp/article/details/108447050

    https://segmentfault.com/a/1190000011519350

    RIPRO主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
    找源码|源码教程|小程序|免费源码 » 2021前端面试题-webpack-18道-持续更新中。。

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    站壳网
    一个高级程序员模板开发平台
    • 79会员总数(位)
    • 60资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 445稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情