>我正在将我的nodejs版本从8升级到10。 升级后,我现在无法在任何浏览器中运行我的应用程序。 所以我被谷歌搜索了我的问题,发现节点 10 的标头大小已从 8KB 缩小到 8KB。 我的应用程序标头大小超过 8KB。 所以我需要使用 nodejs 命令--max-http-header-size=80000
进行设置。 但是我不知道如何使用nodemon
和babel-node
. 请帮忙。
这是我的节点.json
{
"ext": "js jsx ejs json gql css",
"exec": "babel-node"
}
这是我目前的包.json:
"develop:server": "BABEL_ENV=server nodemon .",
我已经尝试过的解决方案:
{
"ext": "js jsx ejs json gql css",
"exec": "node --max-http-header-size=80000 ./node_modules/babel-cli/bin/babel-node.js"
}
正确的解决方案如下(选择其中之一(:
{ "ext": "js jsx ejs json gql css", "exec": "NODE_OPTIONS=--max-http-header-size=80000 babel-node" }
"develop:server": "NODE_OPTIONS=--max-http-header-size=80000 BABEL_ENV=server nodemon .",
我认为节点工程师减少了version 8.16.0
http-header-size
。 他们减少了它以防止像DDOS
这样的攻击。当我从节点version 8.9.1 to 8.16.0
升级时,我遇到了同样的问题。我如何解决问题在我的package.json
中,我添加了--max-http-header-size=80000
flag in start script
例如
"scripts": {"start": "node --max-http-header-size=80000 server.js"}
但是,如果您的标头超过8KB,则必须返回到以前的版本,直到正确的修复程序出来。
我正在使用ts-node和nodemon,这适用于我的项目:
"exec": "node --max-http-header-size 80000 -r ts-node/register src/app.ts",
这在我的nodemon.json
配置文件中。