💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 小结 介绍了模块化、工程化相关的概念和发展现状,最后介绍了 Webpack 的应用场景,以及复习了webpack如何使用等。 # 面试题(拓展) > 学而不思则罔,思而不学则殆 ## **Webpack 与 Grunt、Gulp 这类打包工具有什么不同?** 简单解答:一个是模块化打包化工具,一个是流程化任务工具。 webpack 的工作方式是: 把你的项目当做一个整体,通过一个指定的主文件名(index.js, 一般是入口文件),webpack 将从这个文件开始找到你的项目所依赖![](https://img.kancloud.cn/c1/d9/c1d9c2afeda93f821179219ff44ff441_1102x435.png)的文件,使 用loaders 来处理它们,最后打包为一个浏览器可识别的js 文件。 Gulp的工作方式是:stream流 grunt的工作方式是:在一个配置文件中,指明对某些文件进行压缩、组合、检查等任务的具体步骤,然后在运行中输入相应的命令。 ![](https://img.kancloud.cn/9b/bb/9bbbaaff333e493905eef39084a08a30_1240x446.png) ## **与 Webpack 类似的工具还有哪些?谈谈你为什么选择(或放弃)使用 Webpack?** ### **同样是基于入口的打包工具还有以下几个主流的:** * webpack * [rollup](https://links.jianshu.com/go?to=http%3A%2F%2Frollupjs.org%2Fguide%2Fen%2F) * [parcel](https://links.jianshu.com/go?to=https%3A%2F%2Fparceljs.org%2F) ### **从应用场景上来看:** * webpack适用于大型复杂的前端站点构建 * rollup适用于基础库的打包,如vue、react * parcel适用于简单的实验性项目,他可以满足低门槛的快速看到效果 由于parcel在打包过程中给出的调试信息十分有限,所以一旦打包出错难以调试,所以不建议复杂的项目使用parcel