我试图为木星笔记本编写一个自定义扩展,如下所述:https://towardsdatascience.com/how-to-write-a-jupyter-notebook-extension-a63f9578a38c
我使用Windows7上的Chrome工具来检查和编辑我的自定义扩展的Javascript源代码。我希望当按下F5更新页面时,修改后的源代码将立即应用。
但是,正如上述文章所述,我必须运行
jupyter-contrib-nbextensions.exe install并重新启动服务器,以刷新笔记本扩展并查看代码更改的效果。
在每次进行小更改之后,在开发/调试扩展时,这样做都是很烦人的。
=>Is有某种自动更新/重新加载扩展的开发选项吗?
发布于 2019-07-16 07:02:03
作为一项工作,我编写了一个扩展"Workspace模块“:
如果文件"workspace.js“存在于笔记本文件夹中,则该扩展名的目的是导入该文件。我扩展的main.js是:
define([
'require',
'jquery',
'base/js/namespace',
'base/js/events',
'notebook/js/codecell'
], function(
requirejs,
$,
Jupyter,
events,
codecell
) {
var load_ipython_extension = function() {
if (Jupyter.notebook !== undefined && Jupyter.notebook._fully_loaded) {
init();
} else {
console.log("[workspace_module] Waiting for notebook availability")
events.on("notebook_loaded.Notebook", function() {
init();
})
}
};
function init(){
console.log("[workspace_module] trying to load workspace.js")
var moduleScript = document.createElement('script');
moduleScript.setAttribute('type','module');
moduleScript.setAttribute('src','workspace.js');
document.body.appendChild(moduleScript);
}
return {
load_ipython_extension: load_ipython_extension
};
});workspace.js重定向到我的实际扩展:
import './treezjs/src/treezJupyterNotebook.js';这样,我就可以在开发过程中调整代码,而无需重新执行安装命令。
https://stackoverflow.com/questions/55474703
复制相似问题