【问题标题】:Webpack, Sass - Maximum call stack size exceededWebpack,Sass - 超出最大调用堆栈大小
【发布时间】:2016-12-15 18:02:08
【问题描述】:

我正在为我的 JS 应用程序使用 Webpack。对于我使用 Sass 的样式。我的应用程序很大,所以我使用了很多@mixins 和@includes。

在过去的几天里(当应用程序的 SASS 数据增长更多时)我多次遇到相同的以下错误: “未捕获的 RangeError:超出最大调用堆栈大小”。

你们中的任何人之前是否也遇到过与 Sass 相关的问题?这个错误一般是怎么出现的?

编辑:

好的,我发现递归不是问题。它适用于 Mac 的 Firefox 和大多数 Windows 浏览器,但不适用于 Mac 的 Chrome 和 Safari,因为它们的调用堆栈大小限制要低得多。

有没有一种有效的方法可以轻易地达到浏览器的调用堆栈大小?我读到了 webpack 的 Uglify,但这只是减少了我的应用程序的大小,而不是调用量,对吧?

还有其他想法吗?

【问题讨论】:

  • 你能把一些导致这个错误的代码放出来,以便重现它吗?
  • 我更新了我的帖子。这有帮助吗?
  • 不...不,它没有
  • 我也收到了。堆栈跟踪如下: Uncaught RangeError: Maximum call stack size exceeded at hotAddUpdateChunk (bootstrap ...:910) at webpackHotUpdateCallback (bootstrap ...:7) at webpackHotUpdateCallback (bootstrap ...:8) ...并重复...我正在使用 ["webpack": "^3.10.0"]
  • 就我而言,我在 package.json 文件中有一个递归包定义。把它拿出来解决了我的问题

标签: javascript sass webpack callstack


【解决方案1】:

我通过以下方式找到了答案:https://github.com/webpack/webpack/issues/1583

当我对.less 文件进行更改时会发生此问题。 [HPM] 会注意到更改,但无法更新浏览器以及 RangeError。

在 plugins 部分注释掉 new HotModuleReplacementPlugin() 后,溢出消失了,CSS 更新开始工作。

希望这对其他人有所帮助。

【讨论】:

    【解决方案2】:

    我在拨打npm install webpack时收到Maximum call stack size exceeded

    导致错误消失的原因是先运行npm uninstall webpack,然后再次运行npm install webpack。

    【讨论】:

      【解决方案3】:

      我最近遇到了同样的问题并遇到了这个线程,但我的问题是 React App Build in Webpack 和 Uglify bundle 错误。以下节点构建命令的更改解决了我的问题。

      语法

      node --stack-size=<your-size> scripts/build.js
      

      示例

      node --stack-size=1000 scripts/build.js
      

      为什么 max-old-space-size 的 size 是 1000?

      基本上,它取决于您当前应用程序脚本的调用堆栈。

      如何验证并给出正确的尺寸?

      这基本上是留在我们的引擎v8。以下命令可帮助您了解本地节点 v8 引擎的调用堆栈大小。

      node --v8-options | grep -B0 -A1 stack-size
      

      【讨论】:

        猜你喜欢
        • 2019-06-29
        • 1970-01-01
        • 2015-10-24
        • 2015-12-29
        • 2017-12-27
        • 2020-12-06
        • 2018-02-06
        • 2020-06-28
        • 2016-02-28
        相关资源
        最近更新 更多