如何在Aura中使用外部js库?

时间:2016-07-12 11:29:27

标签: javascript aura.js aura-framework

我添加了

<script language="javascript" type="text/javascript" src="../js/Chart.bundle.js"></script>  
光环中的

:应用程序文件,浏览器下载文件(可以通过控制台看到) 但是当我尝试在Renderer中的afterRender函数中创建Chart对象时

var myChart = new Chart(ctx, { .....

我有一个错误:

  

出了点问题。 afterRender抛出一个错误   'markup:// helloWorld:helloWorld'[afterRender抛出一个错误   'markup:// c:ltGraph'[ ReferenceError:图表未定义]]失败   descriptor:{markup:// helloWorld:helloWorld}错误       在新的(http://localhost:8080/auraFW/javascript/lG7eYFZ_MXfCccXumk95LQ/aura_dev.js:3152:23)       在http://localhost:8080/auraFW/javascript/lG7eYFZ_MXfCccXumk95LQ/aura_dev.js:1:1。   请再试一次。

如何在Aura中使用外部库?

1 个答案:

答案 0 :(得分:0)

我发现了问题。我的代码想在加载之前使用库。 我必须在我的js代码(渲染器)

中加入一些检查
var timesToCheck = 10;
var poll = function () {
    setTimeout(function () {
        timesToCheck--;
        if (typeof Chart !== 'undefined') {

            // now you can use Chart (or other) library.....

        } else if (timesToCheck > 0) {
            poll();
        } else {
            console.log('giving up')
        }
    }, 100);
};
poll();

(代码取自https://developer.salesforce.com/forums/?id=906F0000000Amaz

但是,我仍然遇到加载2个依赖库(如jQuery和Flot)的问题。在Flot初始化期间,通常会出现jQuery未定义的错误.....