dojo需要不同的js文件

Posted

技术标签:

【中文标题】dojo需要不同的js文件【英文标题】:dojo require different js files 【发布时间】:2013-03-09 19:55:59 【问题描述】:

最近我遇到了一个关于使用 dojo 包含其他 js 文件的问题。例如: 在我的 1.js 文件中,我写道:

require(["dijit/form/Button"], function(Button)
addButton(someWidget););

在我的 1a.js 文件中,我编写了函数 addButton:

function addButton(target)
    var b1=new Button(
        style: "border: 1px solid green",
        label: "xxxxx"
    );
    target.addChild(b1);
    return b1;

对于1a.js肯定有错误,因为我没有require那个模块,但是我加了require,最大的 问题是返回值,由于嵌套函数,我无法获取返回值。

我如何写一个js文件,我写了我所有的函数,而在另一个js文件中,我只是用dojo require("xxxx", function(x))调用这些函数

感谢您的帮助!

【问题讨论】:

【参考方案1】:

dojo.require 是工具包的旧版 (dojo.require,使代码可用于所有文件。

Dojo 已转为使用 AMD API 来加载模块。在 1a.js 中,您还需要添加 require 语句。

我对以下问题的回答将有助于更好地理解 AMD API 和require 声明:

What is the main difference between require() and define() function in dojo and when would we use either?

Dojo Builds...? What now?

What is the purpose of function in the dojo require?

【讨论】:

以上是关于dojo需要不同的js文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 dojo 中加载 js 小部件文件? registerModulePath 工作,但在 1.8 包中不工作 - 立即需要帮助

Dojo 访问 js 文件外的 js 对象

如何在dojo工具包的Current JS文件中使用在另一个JS文件中创建的Dialog变量

JS如何清除IE浏览器缓存

DOJO js 基本dom操作

Worklight 中的 Dojo 文件缓存