前言
前段时间写了一篇文章import 与 require 详解 - 从深入浅处Node带来的思考,该文章得出import
是基于require
实现的,并且在不同的环境中实现是不同的,于是乎本片文章旨在从源码来分析在webpack
的环境下import
与require
究竟有何区别。
环境:
- webpack:^4.35.3
- webpack-cli: ^3.3.5
webpack打包之后的代码结构
以下为webpack
代码的结构
(function(modules){
var installedModules = {}; //模块缓存
function __webpack_require__(){ //加载函数
...
}
... //__webpack_require__方法上的其他属性声明
return __webpack_require__(__webpack_require__.s = "value of entry path"); //打包文件的入口地址,使用__webpack_require__方法来加载代码
})({
"entry module name":function(module, __webpack_exports__, __webpack_require__){
... //入口模块编译之后的代码
},
"import|require module nam