2014-09-26 76 views
1

我是Require.js的新手,我看到API文檔使用requirerequirejs。他們是相同還是不同?有多不同?require與requirejs調用的區別

requirejs用法:

requirejs.config({ 
    //By default load any module IDs from js/lib 
    baseUrl: 'js/lib', 
    //except, if the module ID starts with "app", 
    //load it from the js/app directory. paths 
    //config is relative to the baseUrl, and 
    //never includes a ".js" extension since 
    //the paths config could be for a directory. 
    paths: { 
     app: '../app' 
    } 
}); 

需要使用:

require.config({ 
    paths: { 
     foo: 'libs/foo-1.1.3' 
    } 
}); 

回答

1

當加載RequireJS,它在全球太空出口這是同一對象的符號requirejsrequire

當你是裏面的模塊,requirerequirejs不一定是同一個對象。考慮一下這個測試:

define(function (require, exports, module) { 
    console.log(require === requirejs); 
}); 

產值控制檯將一般是假的。 (正如我從閱讀RequireJS的代碼中回憶的那樣,總是是假的,但我可能會誤解。)

+0

這很有趣。我想知道它是如何比較兩個平等的功能。 – 2014-10-06 15:47:27

+0

對於兩個函數相同,它們必須是相同的「Function」對象。例如,如果你有代碼'var foo = function(){}; var blah = function(){}; foo === blah',結果是'false',儘管太多函數看起來是一樣的。 – Louis 2014-10-06 15:50:51