2013-04-13 4 views
0

Для использования dojo 1.8 в сочетании с 1.6, я настроил переносные модули, как описано в учебнике Defining Modules, под заголовком «Использование портативных модули».«Портативные модули» работают с версией 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 на 'dojo16.date'. Я не знаю, сможете ли вы получить доступ к модулям 1.6, используя новые функции 'require', поскольку они были AMD. – jumpnett

+0

Также я вижу, что вы загружаете dojo 1.8 (''), но не dojo 1.6. – jumpnett

+0

Да, я не был уверен, что должен импортировать оба. Ваша ссылка - http://dojotoolkit.org/documentation/tutorials/1.7/modules/ - не упоминает импорт скриптов, и я думаю, что у меня были проблемы с дублирующими функциями 'define'. –

Смежные вопросы