2013-09-05 58 views
1

我想學習和使用requirejs的種子應用程序,但我似乎無法得到的語義。我在做這個requirejs代碼有什麼問題?

我的問題不是文件的位置,似乎工作正常。

的index.html

<script data-main="scripts/main.js" src="scripts/lib/require.js"></script> 

main.js

require.config({ 
    shim: { 
     angular: { 
      exports: 'angular' 
     } 
    } 
}); 

require(['app'], function(angular, app) { 
    console.info('angular', angular); 
    console.info('app', app); 
}); 

app.js

define(['angular'], function(angular) { 
    return angular.module('testApp', [], null); 
}); 

控制檯輸出

角OBJE克拉{_invokeQueue:數組[0],_runBlocks:數組[0],要求:數組[0],名稱: 「testApp」,供應商:功能...} main.js:13

應用未定義

所需的輸出必須app與這似乎當前會被分配給angularangular返回的模塊數據的內容應該僅僅是angular全局對象,沿

對象{元素線的東西:功能,引導:function,copy:function,extend:function,equa LS:函數...}

回答

1

我需要我的main.js require()聲明改爲

require(['app'], function(app) { 
    console.info('angular', angular); 
    console.info('app', app); 
}); 

我刪除了angular參數,以便參考角將是全局對象,我現在看到參數按照它們所需的相同順序賦值,與angular如何使用依賴注入不同。