Node.js 更改--grunt任务的最大堆栈大小
我在GruntJS脚本中遇到以下错误: 超出最大调用堆栈大小“Node.js 更改--grunt任务的最大堆栈大小,node.js,gruntjs,Node.js,Gruntjs,我在GruntJS脚本中遇到以下错误: 超出最大调用堆栈大小“ 在我的grunt命令中调用节点标志--max stack size=,以便为堆栈留出更多内存的正确语法是什么?使用npm Install grunt cli本地安装grunt cli然后使用以下命令本地调用它: node --max-stack-size=val ./node_modules/.bin/grunt 虽然可能是由于无限递归而导致出现错误,但应该加以修复。除非您使用GruntJS进行一些非常高级的编程,否则我认为您可能
在我的grunt命令中调用节点标志
--max stack size=
,以便为堆栈留出更多内存的正确语法是什么?使用npm Install grunt cli
本地安装grunt cli
然后使用以下命令本地调用它:
node --max-stack-size=val ./node_modules/.bin/grunt
虽然可能是由于无限递归而导致出现错误,但应该加以修复。除非您使用GruntJS进行一些非常高级的编程,否则我认为您可能注册了一个循环任务 如果您将任务命名为与插件相同的名称,它将运行无限次:
grunt.registerTask('uglify', ['uglify'])
这将导致任务调用自身
为了验证您正在执行的操作,请使用--verbose
(或--v)命令运行grunt以查看grunt正在运行的内容
例如,运行grunt uglify--v
并注意它运行了多少次。通过将任务名称更改为其他名称,可以很容易地解决这个问题
但是,如果您确定正在执行的操作,请使用--max stack size=10000运行grunt
或者随便什么…当我通过grunt.task.run()
动态调用任务时,类似的问题发生在我身上。
似乎grunt的成功
回调填满了NodeJs堆栈
我对c:\Users\%UserName%\AppData\Roaming\npm\grunt.cmd
(在Windows上)执行了手动编辑。添加您的节点版本支持的参数,例如--stack\u size=2000
(有关详细信息,请使用节点-help
)。这应该可以在linux或mac上运行:
node --stack-size=10000 `which grunt`
10000可以由您需要的任何尺寸替换
在我的mac和我最近一直在使用的ubuntu服务器上,默认值是984
另一个选项是将其添加到您的.bashrc
、.bach_档案
或同等档案中:
alias grunt='node --stack-size=10000 `which grunt`'
你知道windows吗?