1

我正在查看文件上传插件的 javascript 代码。

一段代码检查define是否是一个函数并声明了一些我猜的依赖项

(function (factory) {
    'use strict';
    if (typeof define === 'function' && define.amd) {
        // Register as an anonymous AMD module:
        define([
            'jquery',
            'jquery.ui.widget'
        ], factory);
    } else {
        // Browser globals:
        factory(window.jQuery);
    }
}

代码上方的注释说定义是全局的。但是我在使用 angularjs 构建的应用程序中没有它。

我在代码库中搜索了定义的声明。但是找不到。我用谷歌搜索了 AMD,我可以看到这里再次使用了定义。

我的问题是“定义”在哪里定义?

4

1 回答 1

2

define是一个功能由异步模块定义规范定义的函数。AMD 只是一个规格;有多种实现,RequireJS 就是其中之一。如果需要,您可以查看 RequireJS 如何实现它,但请记住,RequireJSdefine并不是唯一define的。

于 2013-07-27T05:02:55.397 回答