我的Ng2项目有问题需要3到4天。
我运行serv / ng测试或ng build,我有:“超出最大调用堆栈大小的错误”
“ng serve”之后
$ ng serve
** NG Live Development Server is running on http://localhost:4200 **
Hash: a73c4ecdb8222366629e
Time: 16536ms
chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 405 kB {5} [initial] [rendered]
chunk {1} main.bundle.js, main.bundle.js.map (main) 41.1 kB {4} [initial] [rendered]
chunk {2} styles.bundle.js, styles.bundle.js.map (styles) 149 kB {5} [initial] [rendered]
chunk {3} scripts.bundle.js, scripts.bundle.js.map (scripts) 244 kB {5} [initial] [rendered]
chunk {4} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.75 MB [initial] [rendered]
chunk {5} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]
ERROR in Maximum call stack size exceeded
webpack: Failed to compile.
我节省了一次,一切都没问题:
$ ng serve
** NG Live Development Server is running on http://localhost:4200 **
Hash: a73c4ecdb8222366629e
Time: 16536ms
chunk {0} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 405 kB {5} [initial] [rendered]
chunk {1} main.bundle.js, main.bundle.js.map (main) 41.1 kB {4} [initial] [rendered]
chunk {2} styles.bundle.js, styles.bundle.js.map (styles) 149 kB {5} [initial] [rendered]
chunk {3} scripts.bundle.js, scripts.bundle.js.map (scripts) 244 kB {5} [initial] [rendered]
chunk {4} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.75 MB [initial] [rendered]
chunk {5} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]
ERROR in Maximum call stack size exceeded
webpack: Failed to compile.
webpack: Compiling...
Hash: 02fd7618c3e2de3db52e
Time: 9915ms
chunk {0} 0.chunk.js, 0.chunk.js.map 926 kB {1} {2} {3} {5} [rendered]
chunk {1} 1.chunk.js, 1.chunk.js.map 397 kB {0} {2} {3} {5} [rendered]
chunk {2} 2.chunk.js, 2.chunk.js.map 33.1 kB {0} {1} {3} {5} [rendered]
chunk {3} 3.chunk.js, 3.chunk.js.map 2.96 kB {0} {1} {2} {5} [rendered]
chunk {4} polyfills.bundle.js, polyfills.bundle.js.map (polyfills) 405 kB {9} [initial] [rendered]
chunk {5} main.bundle.js, main.bundle.js.map (main) 41.1 kB {8} [initial] [rendered]
chunk {6} styles.bundle.js, styles.bundle.js.map (styles) 149 kB {9} [initial] [rendered]
chunk {7} scripts.bundle.js, scripts.bundle.js.map (scripts) 244 kB {9} [initial] [rendered]
chunk {8} vendor.bundle.js, vendor.bundle.js.map (vendor) 2.75 MB [initial] [rendered]
chunk {9} inline.bundle.js, inline.bundle.js.map (inline) 0 bytes [entry] [rendered]
webpack: Compiled successfully.
“ng test”也是一样。
有什么想法解决这个问题吗?
答案 0 :(得分:8)
我发现调试它的最佳方法是:
ng serve --aot
如果发现任何错误并且出现可理解的错误,它将退出构建。
答案 1 :(得分:7)
我遇到了同样的错误。 通过删除不必要的导入来解决。
导致此错误的原因是循环模块依赖问题。
例如:
'A'模块导入(依赖于)'B'模块
'B'模块导入(依赖于)'A'模块
我建议您构建一个通用模块,其他模块应该导入公共模块。
如果您有不必要的导入删除不必要的导入。
答案 2 :(得分:2)
如果getter(或方法)返回自身,您将获得循环引用,导致最大调用堆栈大小超出异常。 实施例
public get test(): any {
return test;
}
检查您的代码。
答案 3 :(得分:1)
在我的情况下,当尝试调用其自己的组件的选择器(循环依赖的种类)时会发生这种情况。
答案 4 :(得分:0)
我遇到了这个问题。我忘记了将功能路由器模块导入功能模块,因此出现了以上错误。希望对别人有帮助。
答案 5 :(得分:0)
当我有
超出最大调用堆栈的错误
使用以下命令解决:
ng build --prod --base-href "PATH OF SERVER" --aot=false --build-optimizer=false