使用Vite和ReactJS时,NODE_OPTIONS在哪里设置?

问题描述 投票:0回答:1

我需要增加网站上某些 API 调用的最大 Http 标头大小。当我运行有问题的函数时,出现此错误:

Server responded with status code 431. See https://vitejs.dev/guide/troubleshooting.html#_431-request-header-fields-too-large.

但是,如果我只是减少输入的长度,它就可以正常工作。 这不是cookie问题,我只是发回一个非常大的字符串(想想一篇很长的文章),但是当它达到一定大小时,它不再允许用户提交它。所以我需要使用终端提供的链接中列出的选项(https://vitejs.dev/guide/troubleshooting.html#_431-request-header-fields-too-large)来增加 max-http-标头大小。但是,我不知道在哪里可以做到这一点。

在 package.json 中,有一个脚本部分包含以下内容:

  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
    "preview": "vite preview"
  },

启动脚本是“npm run dev”。所以我尝试简单地修改“dev”启动脚本:

  "scripts": {
    "dev": "vite NODE_OPTIONS=--max_http_header_size=128000",
    "build": "vite build",
    "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
    "preview": "vite preview"
  },

这行不通,而且网站根本就行不通。所以我尝试修改启动脚本:

npm run dev

致:

npu NODE_OPTIONS=--max_http_header_size=128000 run dev

但这也不起作用。我只需要知道如何在使用 vite 时设置 max_http_header_size 的 NODE_OPTION ,因为“vite”替换“node”作为要运行的二进制文件。对于常规的 React-JS 网站,启动脚本是“node”,您可以简单地将 NODE_OPTIONS 放在后面。但由于我们使用的是 Vite,启动脚本不是“node”,在“vite”后面添加 NODE_OPTIONS 不起作用。

reactjs node.js vite package.json
1个回答
0
投票

NODE_OPTIONS
是环境变量,它的目的是注入
node
选项。对于跨平台项目,可以使用
cross-env
依赖来设置:

cross-env NODE_OPTIONS=--max_http_header_size=128000 vite

或者,也可以使用代表

vite
的命令:

node --max_http_header_size=128000 node_modules/vite/bin/vite.js
© www.soinside.com 2019 - 2024. All rights reserved.