Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Backbone.js和Require.js工具r.js_Javascript_Backbone.js_Requirejs_R.js - Fatal编程技术网

Javascript Backbone.js和Require.js工具r.js

Javascript Backbone.js和Require.js工具r.js,javascript,backbone.js,requirejs,r.js,Javascript,Backbone.js,Requirejs,R.js,因此,在我的TODO应用程序中,我使用了主干和require.js。一切都很酷。我将所有模型、视图和集合分离为单个文件,并使用require.js加载它们。在我尝试使用console require.js optimizer.js将所有文件连接到一个文件之后。结果,我得到了一个包含所有lib和类的文件。但当我尝试运行时,我遇到了一个错误,即主干未定义。我检查了文件,看到r.js生成了下一个东西: 1.首先,它将主干源添加到app-build.js文件中,然后放置下一个字符串 define("li

因此,在我的TODO应用程序中,我使用了主干和require.js。一切都很酷。我将所有模型、视图和集合分离为单个文件,并使用require.js加载它们。在我尝试使用console require.js optimizer.js将所有文件连接到一个文件之后。结果,我得到了一个包含所有lib和类的文件。但当我尝试运行时,我遇到了一个错误,即主干未定义。我检查了文件,看到r.js生成了下一个东西: 1.首先,它将主干源添加到app-build.js文件中,然后放置下一个字符串

define("lib/backbone", function(){});
因此,我在窗口中有主干变量,但在我的模块中,我以require.js的方式使用它
define('models/todo'、['jquery'、'underline'、'lib/backbone']、函数($,\ux,backbone){

没有全局变量,因此我的模块中的主干局部变量未定义。 下划线.js的同样问题。R.js以同样的方式导入它


所以,问题是。将来如何避免这些libs的问题,或者现在如何解决这个问题?一些技术?

您可能需要使用一个垫片,因为根据RequireJS的主干要求主干位于基本url目录中。在您的情况下,它似乎位于/lib中。根据您使用的RequireJS版本,您可以您不必确保您使用的库与AMD兼容

在您的requireJS配置中:

shim: {
  backbone: {
    deps: ["underscore", "jquery"],
    attach: "Backbone"
  },
  underscore: {
    attach: "_"
  }
}

您可能需要使用垫片,因为RequireJS要求主干位于基本url目录中。在您的情况下,它似乎位于/lib中。根据您使用的RequireJS版本,您只需确保您使用的库与AMD兼容

在您的requireJS配置中:

shim: {
  backbone: {
    deps: ["underscore", "jquery"],
    attach: "Backbone"
  },
  underscore: {
    attach: "_"
  }
}
这部分对我来说不清楚:“不作为全球性的”。你能重新措辞或扩展吗?可能是一个拼写错误。这部分对我来说不清楚:“不作为全球性的”。你能重新措辞或扩展吗?可能是一个拼写错误。