2013-04-13 135 views
0

爲了將dojo 1.8與1.6配合使用,我在教程Defining Modules的子標題「Using portable模塊」。「便攜式模塊」適用於src版本,但不適用於預建版本

我一直在使用它與dojo源代碼版本「dojo-release-1.8.3-src.zip」,它工作得很好,但是當我切換到預建版本時,「dojo -release-1.8.3.zip」,它拋出404錯誤尋找的依賴關係:

GET http://localhost:8080/sb/javascript/lib/dojo-release-1.8.3/dojo/parser.js  200 OK 
GET http://localhost:8080/sb/javascript/lib/dojo-build-1.6.1/dojo/_base/url.js 404 Not Found 
"NetworkError: 404 Not Found - http://localhost:8080/sb/javascript/lib/dojo-build-1.6.1/dojo/_base/url.js" 

GET http://localhost:8080/sb/javascript/lib/dojo-release-1.8.3/dojo/request.js 200 OK 
GET http://localhost:8080/sb/javascript/lib/dojo-build-1.6.1/dojo/request/default.js  404 Not Found 
"NetworkError: 404 Not Found - http://localhost:8080/sb/javascript/lib/dojo-build-1.6.1/dojo/request/default.js" 

從很明顯,它是找錯了地方的依賴文件控制檯(在尋找「道場 - 建造 - 1.6 .1'而不是'dojo-release-1.8.3')。我想知道的是爲什麼?我所做的只是交換預編譯版本的源代碼版本。

這裏是我的配置:

<script> 
    var map18 = {dojo: "dojo18", dijit: "dijit18", dojox: "dojo18"}; 
    var dojoConfig = { 
     async: false, 
     parseOnLoad: true, // in 1.8 they suggest setting to false and manually parsing when needed, but we're not set up that way at the moment 
     packages: [ 
      {name: "dgrid", location: "../../dgrid/dgrid", packageMap: map18}, 
      {name: "xstyle", location: "../../dgrid/xstyle", packageMap: map18}, 
      {name: "put-selector", location: "../../dgrid/put-selector", packageMap: map18}, 
      {name: "modules", location: "../../modules", packageMap: map18}, 
      {name: "page", location: "../../page"}, 
      {name: "dojoc", location: "../../dojoc"}, 
      {name: "dojo18", location: "../../dojo-release-1.8.3/dojo", packageMap: map18}, 
      {name: "dijit18", location: "../../dojo-release-1.8.3/dijit", packageMap: map18}, 
      {name: "dojox18", location: "../../dojo-release-1.8.3/dojox", packageMap: map18}, 
      {name: "dojo", location: "../../dojo-build-1.6.1/dojo", main: "dojo"}, 
      {name: "dijit", location: "../../dojo-build-1.6.1/dijit"}, 
      {name: "dojox", location: "../../dojo-build-1.6.1/dojox"} 
     ], 
    }; 
</script> 

回答

0

我試過類似的東西(同時使用1.8和1.6源),並得到了不同的錯誤。我知道這不是問題的答案,但我會將其粘貼到這裏以防止它找到答案。

這是我的測試頁面:

<script> 
var location18 = "/dojo18"; 
var location16 = "/dojo16"; 
var map16 = { dojo: "dojo16", dijit: "dijit16", dojox: "dojox16" }, 
    dojoConfig = { 
     packages: [ 
      { name: "dojo16", location: location16 + "/dojo", packageMap: map16 }, 
      { name: "dijit16", location: location16 + "/dijit", packageMap: map16 }, 
      { name: "dojox16", location: location16 + "/dojox", packageMap: map16 }, 
      { name: "dojo", location: location18 + "/dojo" }, 
      { name: "dijit", location: location18 + "/dijit" }, 
      { name: "dojox", location: location18 + "/dojox" } 
     ] 
    }; 
</script> 
<script src="/dojo18/dojo/dojo.js"></script> 
<script> 
require(["dojo/date"], function (date) { 
    console.log("date18", date); 
}); 
</script> 
<script> 
require(["dojo16/date"], function (date) { 
    console.log("date16", date); 
}); 
</script> 

而我得到的錯誤似乎與裝載兩個日期模塊。不知道Dojo是否可以單獨處理它們,但我沒有設法做到這一點。

Error

+0

你也許可以用'dojo16.date'訪問的dojo16日期模塊。我不知道你是否可以使用新的'require'功能訪問1.6模塊,因爲它們是AMD。 – jumpnett

+0

另外我看到你加載dojo 1.8(''),但不是dojo 1.6。 – jumpnett

+0

是的,我不確定我是否應該導入這兩個。你的鏈接 - http://dojotoolkit.org/documentation/tutorials/1.7/modules/ - 沒有提到腳本導入,我想我有重複的'define'函數的麻煩。 –

相關問題