0.1. 什么是webpack?
webpack是javascript应用程序的模块打包程序。Webpack递归地构建应用程序中的每个模块,然后将所有这些模块打包到少量的bundle中。
0.2. webpack和其他构建工具(如gulp或grunt)之间的主要区别是什么?
Webpack是一个模块打包器,虽然它经常用来代替Gulp或Grunt任务运行器。这种先进的工具为开发人员提供了对模块进行分割的控制,使他们能够根据特定情况调整构建,并且无法正常工作。
比较Webpack和Grunt,第一个为现代前端项目提供了更多的灵活性和先进的功能。它带有一个功能核心,可以使用特定的装载机和插件进行扩展。本质上,它被用于将JavaScript模块与依赖关系捆绑到文件中,但对于具有大量非代码资产(图像,字体,CSS等)的复杂JavaScript应用程序,它可以提供很大的好处。
在谈论Webpack vs Gulp vs Grunt的性能时,后者会查找与您的配置相匹配的文件的定义路径,而Webpack会分析整个项目。它查看所有的依赖关系,使用加载器处理它们,并生成捆绑的JS文件。
0.3. webpack中的包是什么?
bundle是webpack生成的输出文件。它包含应用程序中使用的所有模块。Bundles生成过程由webpack配置文件调整。
0.4. webpack在哪个环境下工作?
node.js
0.5. 什么是entry观点
入口对象是webpack看起来开始构建bundle的地方,此时应用程序开始执行。
0.6. 什么是依赖关系图,webpack如何构建它?
任何时候一个文件依赖于另一个文件,webpack会将其视为依赖关系。从入口点开始,webpack递归地构建一个依赖关系图,该关系图包含应用程序需要的每个模块,使用import
和require
语句,然后将所有这些模块打包成一个或多个包。