0

想知道是否可以在同一功能范围内同时使用定义和要求。通常是需要或定义,我如何在同一范围内拥有两者?

define(["my/cart", "my/inventory"],
    function(cart, inventory) {
        //Define foo/title object in here.
   }
);

require(["some/module", "a.js", "b.js"], function(someModule) {
    //This function will be called when all the dependencies
    //listed above are loaded. Note that this function could
    //be called before the page is loaded.
    //This callback is optional.
}); 
4

1 回答 1

3

define函数用于使用 AMD 样式“定义”具有依赖关系的模块,并且require主要用于调用以前使用definefunction 定义的那些模块。

define推荐的做法是每个文件只定义一个模块,但如果您将模块名称作为第一个参数传递给该函数,则可以添加多个。

如果将名称显式传递给define函数,则可以嵌套definerequire调用中,但这没有任何意义,因为传递给的所有依赖项require都可以define直接传递给函数,这比在要求中嵌套定义更快更清晰。

也许,将 a 嵌套require在 adefine中可能更有用,也许如果您有一个模块具有仅在某些条件下才需要的依赖项,那么在函数上添加公共依赖项以及在条件内部添加define更具体的依赖项可能是有意义的require陈述。

在我看来,重要的概念是理解它基本上define是用于定义 AMD 模块,并require用于调用它们。(您可以使用非 AMD 文件作为依赖项,但这是另一回事。)

于 2012-05-23T16:23:54.467 回答