【问题标题】:how to setup --max-http-header-size with webpack-dev-server如何使用 webpack-dev-server 设置 --max-http-header-size
【发布时间】: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 工作完美。

【问题讨论】:

    标签: reactjs webpack https


    【解决方案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 标头。

        希望这可以帮助其他人。

        【讨论】:

          猜你喜欢
          • 2020-01-02
          • 1970-01-01
          • 2021-05-17
          • 2020-03-24
          • 2017-10-17
          • 2020-01-21
          • 2018-03-14
          • 2016-10-08
          • 1970-01-01
          相关资源
          最近更新 更多