2012-01-25 28 views
2

我已經創建了一個小部件,我想通過AMD在dojo 1.7中加載。我希望能夠將我的自定義小部件庫放在與dojo文件夾相同的級別上。AMD使用Dojo 1.7加載小部件1.7

它看起來總是使用dojo的基本路徑,所以需要在dojo文件夾中放置小部件,但dojo附帶的lib並不需要遵循該規則,例如dijit和dojox。

我試圖改變的基本路徑和

<script> 
    dojoConfig = { 
     isDebug: true, 
     parseOnLoad: true, 
     async:true 
     //,baseUrl: '../src/js' 
    }; 
</script> 

<script type="text/javascript" src="js/dojo/dojo.js"></script> 

<script type="text/javascript"> 
    console.log('start1'); 
    require(
     ["dojo/ready" 
     ,"dijit/Tree" 
     ,"screeningResults/ScreeningResults" 
     ], 
     function(ready,tree, screening){ 
      var screeningUI = new screening({}, "screeningUI"); 
      screeningUI.startup(); 
     } 
    ); 
</script> 
+0

您需要告訴我們您的目錄是如何組織的。 – hugomg

回答

2

假設你的目錄結構是這樣的:

  • 道場/ dijit的
  • 道場/ DojoX中
  • 道場/道場
  • src/js/mymodule

你應該這樣做:

<script> 
    dojoConfig = { 
     isDebug: true, 
     parseOnLoad: true, 
     async:true 
     packages : [{name : 'mymodule', location : '/src/js/mymodule'}] 
    }; 
</script> 
+0

在1.7 amd中,您需要使用「別名」路徑 – thiswayup

+0

事實上,我試圖通過使用軟件包來讓它工作,正如Ken所指出的那樣...我相應地更新了答案。 – Philippe

0

原來你需要使用「別名」參數,並通過在另一個數組內的別名的數組。例如http://jsfiddle.net/tr_grc/ZVaRZ/

+4

'別名'通常不是這項工作的正確工具;它打算重新映射單個模塊ID。推薦使用的屬性是'packages'。請參閱http://dojotoolkit.org/reference-guide/loader/amd.html#module-identifiers –

+0

感謝您的提示! – thiswayup