我们总说webpack是打包工具。为什么要有webpack,webpack帮我们做了那些事情?
在大型的项目中,浏览器端的模块化存在的问题:
效率问题:精细的模块化(更多的js文件)带来大量的网络请求,降低页面访问效率。
兼容性问题:浏览器端不支持CommonJs模块化,而很多第三方库使用了CommonJs的模块化。
这让开发大型项目称为一个难题,我们要考虑很多非业务问题,执行效率,兼容性,代码的可维护拓展性,团队协作,测试等工程问题。
其根本原因在于我们在开发代码和运行代码所期望的不一致
开发代码时我们期望:
模块划分的越精细越好,
不需要考虑兼容性问题
支持多种模块化标准
运行代码时我们期望:
文件越少越好,减少网络请求
文件体积越小越好,传输速度快
兼容所有浏览器
我们期望有一个工具,我只专注开发时写的代码就可以了,开发完成后使用工具帮助我们转换成运行时我们所期望的(压缩过后代码及其丑陋,文件数量极少,兼容浏览器)。这样的工具叫--构建工具
常见的构建工具: