我正在浏览file upload plugin的javascript代码。
有一个piece of code检查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);
}
}
代码上方的注释表明define是全局的。但我在使用angularjs构建的应用程序中没有它。
我在codebase中搜索了define的声明。 BUt找不到任何东西。我用Google搜索了AMD,我可以再次看到定义为used here。
我的问题是'定义'在哪里定义?
答案 0 :(得分:2)
define
是一个函数,其功能由the Asynchronous Module Definition specification定义。 AMD只是一个规范;有多个实现,其中RequireJS是一个。如果需要,您可以看到RequireJS如何实现它,但请记住,RequireJS的define
不是唯一的define
。