ReferenceError:在datagrid.js中嵌入fuelux时未定义define

时间:2013-03-29 12:36:31

标签: javascript jquery datagrid requirejs fuelux

我想添加use http://exacttarget.github.com/fuelux/来构建数据网格。 我想添加库来使用它。我做了以下事情:

<link href="<spring:url value='/assets/css/fuelux.min.css' htmlEscape='true' />"      media="all" rel="stylesheet" type="text/css" />
<link href="<spring:url value='/assets/css/fuelux-responsive.min.css' htmlEscape='true' />" media="all" rel="stylesheet" type="text/css" />
<script src="<spring:url value='/assets/js/fuelux-datagrid.js' htmlEscape='true' />" type="text/javascript"></script>

我确信路径是正确的,因为它们在其他库中工作。但是,我收到以下错误:

ReferenceError: define is not defined
[Break On This Error] 
define(['require','jquery'],function(require) {

其中define(['require','jquery'],function(require) {...fuelux-datagrid.js中的代码。

  • 这是什么错误?
  • 我认为define require.js 的关键字。这是否意味着 fuelux-datagrid 依赖于 require.js
  • 任何人都可以解释一下如何加载库以使其工作吗?

3 个答案:

答案 0 :(得分:12)

这对我有用:

<script src="https://raw.github.com/ExactTarget/fuelux/master/lib/require.js"></script>
<script type="text/javascript" src="https://raw.github.com/ExactTarget/fuelux/master/dist/datagrid.js"></script>

我尝试了@AdamAlexander建议的内容以及建议的内容here并且无效。我也尝试了最新的requiredjs并得到了一个令人讨厌的异常。去搞清楚。

答案 1 :(得分:10)

如果您没有使用RequireJS,可以通过在基本脚本标记中加载loader.min.js来解决这个问题:

<script src="http://fuelcdn.com/fuelux/2.3/loader.min.js"></script>

此软件包包含Bootstrap和Fuel UX所需的所有JavaScript,不依赖于AMD加载程序。

答案 2 :(得分:3)

是的,他们似乎依赖于RequireJS。我必须同意他们没有太多资源来解释如何加载库(至少从我看到的内容),但我要做的是加载require.js并检查它之后尝试加载的其他资源,通过查看在网络上请求。

以下是有关如何设置RequireJS的示例。您还可以查看their docs

<script src="scripts/require.js"></script>
<script>
  require.config({
    baseUrl: "/another/path", //here's where it will look for scripts
    paths: {
        "some": "some/v1.0" //path to other dependencies not located in the base path
    }
  });
</script>