我正在尝试使用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/