在AMD文件中添加隐式依赖项

时间:2014-08-12 12:00:09

标签: javascript jquery playframework-2.0 amd

如何向一组AMD文件添加隐式需求?

我正在将一些代码从一个凉亭管理的应用程序移植到一个游戏,webjars应用程序。原始应用程序有几个使用jquery($)的地方,但不在define块中声明jquery。这是怎么发生的?我怎么能在我的新应用中做到这一点?

我正在移植的代码如下:

define(['underscore',
  'backbone',
  'text!./html/my-view.html'],
function(_,
  mvc,
  myView) {

  'use strict';

    ...

  return {
        render: function() {
          var el = this.el;

          $(el).html(myView);
   ...

1 个答案:

答案 0 :(得分:1)

在定义此模块之前,需要js可能正在加载Jquery。 Backbone.Views依赖于Jquery,因此如果没有jquery,您的视图将无法工作。 尝试找到你正在使用的这个应用程序的主要模块,在那里你将弄清楚requireJs如何加载Jquery。

Backbone有这段代码。这显示了他对Jquery的依赖。

 // Current version of the library. Keep in sync with `package.json`.
  Backbone.VERSION = '1.1.2';

  // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns
  // the `$` variable.
  Backbone.$ = $;