首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Miso时为什么_ undefined?

使用Miso时为什么_ undefined?
EN

Stack Overflow用户
提问于 2013-04-03 03:35:33
回答 2查看 411关注 0票数 3

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

代码语言:javascript
复制
require(["jquery", "underscore", "miso"], function($, _, miso) {

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

});

有什么想法吗?提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-03 03:49:12

Miso在全局范围内需要_下划线。

在Miso的代码中:

代码语言:javascript
复制
(function(global, _) {

    /* has bunch of stuff using underscore */

}(this, _));

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

因此,您需要加载_下划线when,并在模块中包装Miso,例如:

代码语言:javascript
复制
define(['underscore'], function(_) {

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

});

对于Miso网站http://misoproject.com/dataset/tutorials/quickstart上列出的其他依赖项,您需要包含此内容

依赖项

如果您选择包含没有内置依赖项的生产版本,则可能需要自己包含它们。Dataset需要以下库:

时间时间0.9.0

  • Underscore.math.js (未知version)

  • Underscore.deferred.js 0.2.0

  • moment.js 1.7.2 (用于'time‘数据类型)

如果您使用的是IE,则需要包含json2.js:

  • json2.js 2011-10-19

或者,我建议使用已经预先打包了依赖项的Miso版本,这样您就不必担心这一点。

票数 3
EN

Stack Overflow用户

发布于 2013-04-03 03:46:11

确保您的下划线库名为underscore.js,并且它与javascript代码位于同一目录中。这是require.js的baseURL。

如果不是这样,您应该配置路径。参考http://requirejs.org/docs/api.html#config-paths

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15772810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档