由于webpack同时支持CommonJS模块化标准和ES6 module模块化标准, 不管用什么标准写的代码,它都能识别依赖并进行打包。
假如:一个模块用ES6导出,用CommonJS导入(或者用ES6导入,用CommonJS导出),webpack会如何处理?导出的到底是什么?
因此,我们需要理解ES6和CommonJS互相操作时webpack是如何处理的。
同模块化标准
如果导入和导出,使用的是同一种模块化标准,打包后的效果和之前学习的模块化没有任何差异。
下图分别为:用CommonJS导出和导入;用ES6 module导出和导入;
不同模块化标准
不同的模块化标准,webpack按照如下方式处理:
下图分别为:用ES6 module导出、用CommonJS导入;用CommonJS导出、用ES6 module导入;