我正在使用Webpack作为我的JS应用程序。对于我使用Sass的风格。我的应用程序非常大,所以我使用了很多@mixins和@includes。
在最近几天(当应用程序的SASS数据增长更多时)我多次遇到相同的跟随错误: “未捕获RangeError:超出最大调用堆栈大小”。
你们之前有没有人和Sass有过这个问题?这种错误通常如何发生?
编辑:
好的,我发现,递归不是问题所在。它适用于Mac的Firefox和Windows的大多数浏览器,但不适用于Mac的Chrome和Safari,因为它们的调用堆栈大小限制较低。
是否有一种有效的方式来假装轻松达到浏览器的调用堆栈大小?我读到了关于webpack的Uglify
,但这只会减少我的应用程序的大小,而不是通话量,对吗?
还有其他想法吗?
答案 0 :(得分:1)
我通过以下方式找到答案:https://github.com/webpack/webpack/issues/1583
当我对.less
文件进行更改时,会发生此问题。 [HPM]
会注意到更改,但无法更新浏览器以及RangeError
。
在new HotModuleReplacementPlugin()
部分注释掉plugins
后,溢出消失了,CSS更新开始有效。
希望这有助于其他人。
答案 1 :(得分:1)
我最近也遇到了同样的问题,并遇到了这个线程,但是我的问题是React
Webpack中的App Build和Uglify捆绑包错误。下面的node build命令更改解决了我的问题。
node --stack-size=<your-size> scripts/build.js
node --stack-size=1000 scripts/build.js
基本上,它取决于当前应用程序脚本的调用堆栈。
这基本上留在我们的引擎v8
中。下面的命令可帮助您了解本地节点v8引擎的调用堆栈大小。
node --v8-options | grep -B0 -A1 stack-size
答案 2 :(得分:0)
致电Maximum call stack size exceeded
时我得到npm install webpack
使错误消失的原因是先运行npm uninstall webpack
,然后再运行npm install webpack
。