无法在Jupyter笔记本扩展程序中导入node_module软件包

时间:2020-06-24 12:41:14

标签: javascript jupyter-notebook requirejs jupyter jupyter-contrib-nbextensions

我正在尝试导入外部javascript模块(例如log4js)。但是,我在将package.json中指定的javascript程序包加载到Jupyter扩展程序时遇到了问题。我的项目设置看起来像这样:

├── logger/
│   └── __init__.py
│   └── static/
│       └── main.js
├── node_modules/
│   ├── log4js/
│   └── ...
└── pacakge.json
│   
└── setup.py

这是我的main.js的样子:

define([
    'base/js/namespace',
    'jquery',
    'log4js'
  ], function (Jupyter,$,log4js) {
    "use strict";
    function load_ipython_extension() {
      console.log("Loaded Logger")
      // var log4js = require("log4js");
      var logger = log4js.getLogger();
    }

    return {
      load_ipython_extension: load_ipython_extension
    };

 });

我能够将jquery变量成功导入到$中,但是,无法加载在node_module内部安装的任何其他软件包,并且导致相同的Error: Script error。 关于如何将node_module软件包适当放入Jupyter扩展范围内的任何想法都将非常有用,谢谢!

error message

1 个答案:

答案 0 :(得分:0)

根据您在此处提供的信息,我可以猜测您需要设置从node_modules到库的路径。如您所见,浏览器中出现404错误,这意味着RequireJS尝试从错误的路径加载模块。您可以在官方页面上了解有关路径的更多信息:https://requirejs.org/docs/api.html#config-paths