如何使用 webpack-dev-server 设置 --max-http-header-size
Posted
技术标签:
【中文标题】如何使用 webpack-dev-server 设置 --max-http-header-size【英文标题】:how to setup --max-http-header-size with webpack-dev-server 【发布时间】:2020-05-23 10:31:10 【问题描述】:我正在尝试使用 webpack-dev-server 设置我的 webpack 实例。 我将增加标头大小的设置传递给脚本“--max-http-header-size=100000”。
"dev": "npm run options-to-dev && env targets=manager && node --max-http-header-size=100000 webpack-dev-server --host 0.0.0.0 --progress --config webpack.config.js"
在执行脚本“dev”上出现错误
$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
^^^^^^^
SyntaxError: missing ) after argument list
at Module._compile (internal/modules/cjs/loader.js:891:18)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
at Module.load (internal/modules/cjs/loader.js:811:32)
at Function.Module._load (internal/modules/cjs/loader.js:723:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
at internal/main/run_main_module.js:17:11
没有 "node --max-http-header-size=100000" webpack 工作完美。
【问题讨论】:
【参考方案1】:如果您想使用该选项运行webpack-dev-server
,请使用以下选项:
"scripts": "NODE_OPTIONS='--max-http-header-size=100000' webpack-dev-server"
可以在本文档页面的底部找到关于它的一点提示:https://webpack.js.org/configuration/dev-server/
如果不使用搜索选项很难找到 ;)
【讨论】:
【参考方案2】:问题出在我的文件 webpack-dev-server 文件中。我改为通过webpack-dev-server
这一行../../node_modules/webpack-dev-server/bin/webpack-dev-server.js
"dev:windows": "npm run options-to-dev && env targets=customer && node --max-http-header-size=100000 ../../node_modules/webpack-dev-server/bin/webpack-dev-server.js --host 0.0.0.0 --progress --config webpack.config.js"
【讨论】:
【参考方案3】:我花了一些时间才弄清楚。它本质上不是 webpack devserver、nuxt 或其他在其上运行的框架的问题。
由于避免对节点上运行的任何网络服务器的 DDOS 攻击而强制执行限制的节点。
您可以在启动节点时给出参数--max-http-header-size 来更改值。
但我们中的许多人在顶部使用框架、react 或 nuxt 并没有启动 node ourserlf,因此很难找到确切的操作,并且必须自己启动所有内容并非易事。
cross-env 非常好,允许您设置环境变量,并且节点接受 NODE_OPTIONS 环境变量,其中所有自定义参数都可以设置。
在此处查看我在 nuxt 项目中使用的示例:
"scripts":
"build": "nuxt-ts build",
"dev": "cross-env NODE_OPTIONS=--max-http-header-size=200000 DEBUG='express:*' authority=.... resourceApi=... nuxt-ts --port 3001",
"generate": "nuxt-ts generate",
"precommit": "npm run lint",
"start": "nuxt-ts start --port 3001"
,
我将普通的 dev:"nuxt-ts" 选项更改为使用跨环境并设置最大 HTTP 标头。
希望这可以帮助其他人。
【讨论】:
以上是关于如何使用 webpack-dev-server 设置 --max-http-header-size的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 webpack-dev-server 设置 --max-http-header-size
如何同时观看运行 Jest 测试的 webpack-dev-server?
如何使用 webpack-dev-server 和 html-webpack-plugin 观看 index.html