webpack-dev-server.cmd解析

package.json 中定义了一个如下脚本:

javascript 复制代码
"scripts": {
  "dev": "webpack-dev-server"
}

npm run dev时,npm会自动查找并使用 node_modules/.bin/webpack-dev-server.cmd 文件来启动服务。

webpack-dev-server.cmd 文件内容及注释如下:

bash 复制代码
#Windows批处理脚本(Batch Script),用于配置和启动webpack-dev-server
#通过设置环境变量和命令行参数来确保Node.js应用程序以特定的内存限制和HTTP头部大小运行

#关闭命令回显:当脚本运行时,不会在命令提示符下显示每个命令
@ECHO off
#开始本地化环境更改:这个批处理文件中对环境变量做的任何改变都只会影响这个批处理文件内部,不会影响到外部环境
SETLOCAL
#调用下面的find_dp0
CALL :find_dp0

#检查在当前脚本所在的目录下是否存在一个名为node.exe的可执行文件,并且带有参数--max-old-space-size=8000
#如果存在,将_prog变量设置为该程序的完整路径
#如果不存在,将_prog变量设置为node命令加上参数,并且从PATHEXT环境变量中移除.JS扩展名,防止批处理脚本将.js文件当作可执行文件。
IF EXIST "%dp0%\node.exe --max-old-space-size=8000" (
  SET "_prog=%dp0%\node.exe --max-old-space-size=8000"
) ELSE (
  SET "_prog=node   --max-old-space-size=8000"
  SET PATHEXT=%PATHEXT:;.JS;=;%
)
#使用之前设置的_prog变量(即Node.js的路径)来启动webpack-dev-server.js,并传递额外的参数--max-http-header-size=1000000来增加HTTP头部的最大尺寸到1000000字节。%*表示传递所有原始命令行参数给webpack-dev-server.js
%_prog% "--max-http-header-size=1000000" "%dp0%\..\webpack-dev-server\bin\webpack-dev-server.js" %*
#结束本地化环境更改。撤销SETLOCAL所做的环境变量更改
ENDLOCAL
#退出批处理文件并返回上一级命令行或批处理文件,返回值是上一条命令执行后的错误级别(%errorlevel%)
EXIT /b %errorlevel%
#find_dp0标签内容:设置dp0变量为当前批处理文件所在的目录路径(包括末尾的反斜杠),然后退出此函数。
:find_dp0
SET dp0=%~dp0
EXIT /b

如果应用程序启动需要更多的内存,可以通过修改 --max-old-space-size 参数来增加内存限制

相关推荐
泯泷2 小时前
手搓JSVMM第 8 篇:函数调用:参数、返回值与调用帧
前端·javascript·前端框架
Sherotree2 小时前
Google Antigravity——Agent 被提到主界面
前端·ide·后端·edge浏览器
里欧跑得慢3 小时前
Flutter 像素级还原:设计稿到代码的视觉无损转换技巧
前端·css·flutter·web
里欧跑得慢3 小时前
Flutter 三方库 function_tree — 鸿蒙应用开发中的动态数学公式解析与计算神器,实现鸿蒙深度适配下的复杂函数逻辑运行时求值实战(适配鸿蒙 HarmonyOS Next ohos)
android·前端·安全·flutter·华为·harmonyos
苏灿烤鱼4 小时前
没有机密文件,也没有付费数据,在浏览器里造一颗"间谍卫星"
前端·javascript·github
泯泷4 小时前
手搓JSVM第 5 篇:写第一个编译器:从 AST 生成 IR
前端·javascript·算法
泯泷4 小时前
手搓JSVM第 7 篇:控制流:if、while 与 jump
前端·javascript·算法
泯泷4 小时前
手搓JSVM第 6 篇:把 IR 编成字节码:emit 与 label fixup
前端·javascript·算法
泯泷4 小时前
手搓JSVM第 3 篇:从栈式 VM 到寄存器式 VM:为什么我们选择寄存器
前端·javascript·算法
泯泷4 小时前
第 4 篇:让 VM 支持变量:Slot、Environment 与 TDZ
前端·javascript·算法