1. 程式人生 > >webpack原始碼分析(1)----- webpack.cmd

webpack原始碼分析(1)----- webpack.cmd

前言

最近又擼了會webpack,心裡突然冒出一股讀webpack原始碼的念頭,所以便有了這篇(系列)webpack原始碼分析的筆記。

webpack對於我們來說,最常用的不外乎webpack與webpack-dev-server這兩個指令。我們就從這兩個指令開始,一步一步揭開webpack的面紗。今天我們要講的便是webpack.cmd指令。

webpack.cmd

在命令列中執行webpack指令,實際呼叫的是專案中node_modules/.bin/webpack.cmd指令。這裡先為大家貼出webpack.cmd的程式碼:

@IF EXIST "%~dp0\node.exe" (
  "%~dp0\node.exe"  "%~dp0\..\webpack\bin\webpack.js" %*
) ELSE (
  @SETLOCAL
  @SET PATHEXT=%PATHEXT:;.JS;=;%
  node  "%~dp0\..\webpack\bin\webpack.js" %*
)

該批處理的意思是判斷當前路徑下是否存在node.exe檔案,若存在,則用node 執行該路徑父級同級目錄下的webpack\bin\webpack.js檔案。若不存在,則在作業系統可執行的副檔名列表中獲取可執行.js檔案的程式,然後呼叫該程式執行webpack\bin\webpack.js檔案。

cmd的語法可以通過百度瞭解一些關鍵詞彙的語義,就能很容易地瞭解這段程式碼的作用:webpack.cmd的執行實際上就是呼叫node webpack\bin\webpack.js。

期待下一篇的webpack