源代碼入口
1. 我們調用yarn run react:build
調用的是webpack的命令
具體命令在這個路徑~/workspace/mep-ui-sso/node_modules/.bin
2. cat webpack, 這個命令本身是個快捷方式,
裏面調用了npm的webpack包的入口js,
var localWebpack = require.resolve(path.join(process.cwd(), "node_modules", "webpack", "bin", "webpack.js"));
其中最終實例化出的對象是
所以一個疑問是js如何獲取路徑?
require包
requirejs中可以使用相對路徑和絕對路徑,絕對路徑需要注意的是使用需要添加上.js後綴 https://www.jianshu.com/p/c112e2d21521
因爲是用快捷方式,所以說得通,所有相對路徑都是包中的路徑
最終實例化
項目文件夾: node_modules/webpack/lib/webpack.js
從定義看webpack就是個compiler
裏面最主要是Compiler
繼承了Tapable是個架構,插件架構,發佈訂閱
Compilation
比如插件的運行,插件必須有一個apply方法,當插件被hook到tapable的框架時,回調apply方法,應用具體插件功能