Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.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 Dojo没有';看不到自定义小部件_Javascript_Django_Dojo - Fatal编程技术网

Javascript Dojo没有';看不到自定义小部件

Javascript Dojo没有';看不到自定义小部件,javascript,django,dojo,Javascript,Django,Dojo,我在foo/bar.js中有一个自定义小部件,声明如下: define([ ... ], function( ... ) { return { ... } ); require([ "foo/bar" ... ], function(bar, .. .. 我正在尝试在其他小部件中使用它,如下所示: define([ ... ], function( ... ) { return { ... } ); require([ "foo/

我在
foo/bar.js
中有一个自定义小部件,声明如下:

define([
  ...
], function(
  ...
) {
  return {
    ...
  }
);
require([
  "foo/bar"
  ...
], function(bar, ..
..
我正在尝试在其他小部件中使用它,如下所示:

define([
  ...
], function(
  ...
) {
  return {
    ...
  }
);
require([
  "foo/bar"
  ...
], function(bar, ..
..
但它不会被加载。有人有什么建议吗

当我在控制台中键入
foo/bar
时,它返回空对象
object{}
。当我使用旧格式和
dojo.provide()
时,一切都很好。但是一旦它掉了下来,维吉特就变得看不见了

重要提示:只有在我尝试使用Google托管的Dojo时才会出现问题:

<!--
<script src="{{ STATIC_URL }}js/dojo/dojo.js" type="text/javascript"></script>
!-->
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.8.6/dojo/dojo.js"></script>


我必须使用谷歌托管的Dojo进行调试,因为静态URL加载需要30-40秒(因为它是未编译的)。

首先阅读Dojo现在使用的AMD模块加载:

AMD的工作方式是将所需模块作为函数参数返回。您可以在require调用的函数中使用该模块

假设您已经定义了foo/bar模块。您可以在以下情况下使用它:

require(["foo/bar"], function (anyVarName) {  // <- anyVarName will be your foo/bar return value
  console.dir(anyVarName);
}

这样更好吗?

这是正确的。但是我已经在用这个了,我在问题中没有提到这个。