如何防止Google的加载程序导致“不匹配的匿名定义”错误?

时间:2016-06-22 21:29:45

标签: javascript requirejs google-visualization

我在设置追溯到Google可视化库的初始页面加载后加载文件时出现错误。当我去年部署此页面时,它工作正常,但是当我现在添加到页面时,错误开始出现。不知道从那时到现在这个错误实际上是什么时候出现的,因为这个页面没有被许多人使用,他们都没有向我报告。我能够弄清楚globalDefQueue从初始加载中得到一个匿名模块,这会导致未来的加载错误输出。我该如何解决这个问题?我在这里看到SO人们建议只添加一个onError覆盖到require并将其留空,但我宁愿不要像这样削弱框架。我已经尝试使用谷歌搜索和搜索图表论坛本身,我看不到使用require正确加载库的方法,我希望能解决问题,但同时我不知道是否会。

我正在加载require文件和main :(这是我唯一的script标记)

<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/app/lib/requirejs/require.js" data-main="<%=request.getContextPath()%>/scripts/app/src/init"></script>

init.js

require(['domReady!', 'angular', 'jquery', 'https://www.gstatic.com/charts/loader.js', 'app'], function (document, ng, $) {
    'use strict';
    ...
    google.charts.load("current", {"packages": ["line", "corechart"]});
    google.charts.setOnLoadCallback(function () {
    ...
    });
});

具体来说,是从图表对象加载调用,将新项目匿名添加到全局堆栈。由于这是从库中调用的函数,因此我无法通过RequireJS来规避其加载机制。

0 个答案:

没有答案