拉勾 大前端高薪训练营(P7)
编译和打包
对于模块化相关的import和export关键字,babel最终会将它编译为包含require 和 exports 的CommonJS 规范。这就造成了另一个问题,这样带有模块化关键词的模块,编译之后还是没办法直接运行再浏览器中,因为浏览器端并不能运行 CommonJS 的模块。为了能再 WEB 端直接使用 CommonJS 规范的模块,除了编译之外,我们还需要一个步骤叫做打包(bundle)。
所以打包工具例如 webpack / rollup,编译工具 babel 它们之间的区别和作用就很清楚了
打包工具主要处理的是 JS 不同版本间模块化的区别
编译工具主要处理的是 JS 版本间语义的问题