Dojo中的循环依赖项在尝试使用r.js打包时会导致堆栈溢出问题

时间:2017-11-23 11:19:40

标签: javascript dojo requirejs amd r.js

我的项目包含一些遗留的Dojo代码。不幸的是,其中一些Dojo模块使用循环依赖。

更具体地说,dojo/dom-construct取决于dojo/dom-attr,这取决于dojo/dom-prop,这取决于dojo/dom-construct

使用r.js打包时会导致堆栈溢出:

{ Error: RangeError: Maximum call stack size exceeded
In module tree:
    symbology/main
      luciad/symbology/SymbologyProvider
        luciad/symbology/JsonSymbologyParser
          luciad/symbology/MS2525Symbology
            luciad/symbology/HierarchicalSymbology
              luciad/symbology/DelegatingLabelCanvasUtil
                luciad/view/style/DelegatingLabelCanvas
                  luciad/view/style/HTML5LabelCanvas
                    luciad/view/style/DrawAsyncPointLabelHtmlContents
                      luciad/view/style/StyleUtil
                        luciad/view/style/SimpleStrokeStyle
                          luciad/view/style/HTML5DrawStrokeCommandMixin
                            luciad/view/style/HTML5CanvasUtil
                              luciad/dojo/dom-construct
                                luciad/dojo/dom-attr
                                  luciad/dojo/dom-prop
                                    luciad/dojo/dom-construct
                                      luciad/dojo/dom-attr
                                        luciad/dojo/dom-prop
                                          luciad/dojo/dom-construct
                                            luciad/dojo/dom-attr
                                              luciad/dojo/dom-prop
                                                luciad/dojo/dom-construct
                                                  luciad/dojo/dom-attr
                                                    luciad/dojo/dom-prop
                                                      luciad/dojo/dom-construct
                                                        luciad/dojo/dom-attr
                                                          luciad/dojo/dom-prop
                                                            luciad/dojo/dom-construct
                                                              luciad/dojo/dom-attr
                                                                  ...

如何在不修改这些Dojo模块的代码的情况下解决这个问题?

0 个答案:

没有答案