无法在Jupyter Notebook中异步加载脚本

时间:2018-08-02 10:58:09

标签: node.js jupyter-notebook plotly.js

我正在构建前端Jupyter Notebook扩展,为此我需要图形绘制库(https://plot.ly/javascript/

我尝试通过npm模块安装Plotly,但由于与Babel相关的错误而失败。

因此,我尝试一次加载before扩展名后异步加载Plotly库,以使Plotly对象在全局范围内可用。

但是即使下载了plotly源文件(因为我在dev工具的source菜单中看到了它),Plotly对象也不是全局可用的。

我正在使用以下脚本加载脚本:

var injectScript = function (src) {
return new Promise((resolve, reject) => {
    var script = document.createElement('script');
    script.type = 'text/javascript'
    script.async = true;
    script.src = src;
    script.crossorigin = "anonymous"
    script.addEventListener('load', resolve);
    script.addEventListener('error', () => reject(`Error loading script: ${src}`));
    script.addEventListener('abort', () => reject(`Script loading aborted: ${src}`));
    document.head.appendChild(script);
});

}

然后在启动扩展程序下方加载所有必需的依赖项

var dependencies = [
    injectScript('https://cdn.plot.ly/plotly-latest.min.js'),
]

Promise.all(dependencies)
    .then(() => {
        logger.debug('ALl Dependencies loaded!')
        // Run extension
     })

我能够加载Plotly并在简单的HTML页面上访问它,但是在笔记本环境中运行时,Plotly对象不可用。

0 个答案:

没有答案