我正在尝试使用Miso(http://misoproject.com/dataset/),依赖项中的一个是underscore.js。我正在使用require.js,并在控制台中不断出现错误:“未捕获的ReferenceError:_未定义。”这是我的main.js文件:

require(["jquery", "underscore", "miso"], function($, _, miso) {

  $(function() {
    var ds = new Miso.Dataset({
      url : "/data/ma_region.csv",
      delimiter : " ",
    });
  });

});

有任何想法吗?提前致谢。

最佳答案

味iso期望在全局范围内使用_下划线。

用味iso的代码:

(function(global, _) {

    /* has bunch of stuff using underscore */

}(this, _));

这意味着在最后一部分(this, _)中,它没有引用_下划线库,因为它是在RequireJS中定义的,这意味着它存在于匿名函数范围内。

因此,您需要在何时加载_下划线并将Miso包装在模块中,例如:
define(['underscore'], function(_) {

 /** Miso's code here because Miso is expecting the _ **/

});

您需要将其包含在Miso网站http://misoproject.com/dataset/tutorials/quickstart上列出的其他依赖项中:



另外,我建议使用已经预先打包依赖项的Miso版本,因此您不必为此担心。

关于javascript - 为什么在使用Miso时_不确定?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15772810/

10-10 00:50