5

我想编写一个 Jupyter Notebook Extension,如下所述: https ://towardsdatascience.com/how-to-write-a-jupyter-notebook-extension-a63f9578a38c

Jupyter notebook 似乎带有一组默认的 JavaScript 库(例如 jquery、下划线,...)。我在下面找到了那些库

python-3.7.1.amd64\Lib\site-packages\notebook\static\components

我的笔记本扩展需要更多的库,例如 Golden-layout.js 和 d3.js。

=>是否可以定义额外的 JavaScript 库,在安装我的扩展程序时将安装到上述组件文件夹中?

作为一种解决方法,我可以将库复制到我的自定义扩展文件夹的子文件夹“bower_components”,例如

python-3.7.1.amd64\Lib\site-packages\jupyter_contrib_nbextensions\nbextensions\my_extension_folder\bower_components

然后我会尝试调整 require 配置以便能够加载这些库。但是,这似乎是 hacky 并且可能由于某些库的双重安装而导致其他扩展出现问题?

=>满足我的依赖关系的推荐方法是什么?

编辑

如果我使用以相对根“nbextensions”开头的详细路径,则无需更改要求配置:

require([
    'nbextensions/my_extension_folder/bower_components/golden-layout/dist/goldenlayout.min',
    'nbextensions/my_extension_folder/bower_components/d3/d3.min'   
], function(
    GoldenLayout,
    d3  
) {             
  alert('foo');    
});

我仍然想知道这是否是正确的方法。

4

0 回答 0