webpack并不强制你使用某种模块化方案,而是经过兼容全部模块化方案让你无痛接入项目。有了webpack,你能够随意选择你喜欢的模块化方案,至于怎么处理模块之间的依赖关系及如何按需打包,webpack会帮你处理好的。javascript
关于模块化的一些内容,能够看看我以前的文章:js的模块化进程css
把全部依赖打包成一个bundle.js文件,经过代码分割成单元片断并按需加载。html
如图,entry.js是入口文件,调用了util1.js和util2.js,而util1.js又调用了util2.js。java
打包后的bundle.js例子webpack
/******/ ([ /* 0 */ //模块id /***/ function(module, exports, __webpack_require__) { __webpack_require__(1); //require资源文件id __webpack_require__(2); /***/ }, /* 1 */ /***/ function(module, exports, __webpack_require__) { //util1.js文件 __webpack_require__(2); var util1=1; exports.util1=util1; /***/ }, /* 2 */ /***/ function(module, exports) { //util2.js文件 var util2=1; exports.util2=util2; /***/ } ... ... /******/ ]);
_webpack_require__(1)
表示 util1.js 模块,__webpack_require__(2)
表示 util2.js 模块exports.util1=util1
模块化的体现,输出该模块