Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dojo &引用;便携式模块“;使用src版本,但不使用预构建版本_Dojo - Fatal编程技术网

Dojo &引用;便携式模块“;使用src版本,但不使用预构建版本

Dojo &引用;便携式模块“;使用src版本,但不使用预构建版本,dojo,Dojo,为了将Dojo1.8与1.6结合使用,我按照本教程中“使用可移植模块”子标题下的说明设置了可移植模块 我一直在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 G

为了将Dojo1.8与1.6结合使用,我按照本教程中“使用可移植模块”子标题下的说明设置了可移植模块

我一直在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"
从控制台可以清楚地看出,它在错误的位置查找依赖项文件(查找“dojo-build-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> 

var map18={dojo:“dojo18”,dijit:“dijit18”,dojox:“dojo18”};
var dojoConfig={
async:false,
parseOnLoad:true,//在1.8中,他们建议设置为false,并在需要时手动解析,但我们目前还没有这样设置
套餐:[
{名称:“dgrid”,位置:“../../dgrid/dgrid”,packageMap:map18},
{name:“xstyle”,位置:“../../dgrid/xstyle”,packageMap:map18},
{name:“放置选择器”,位置:“../../dgrid/put选择器”,packageMap:map18},
{名称:“模块”,位置:“../../modules”,packageMap:map18},
{名称:“页面”,位置:“../../page”},
{名称:“dojoc”,位置:“../../dojoc”},
{名称:“dojo18”,位置:“../../dojo-release-1.8.3/dojo”,packageMap:map18},
{name:“dijit18”,位置:“../../dojo-release-1.8.3/dijit”,packageMap:map18},
{name:“dojox18”,位置:“../../dojo-release-1.8.3/dojox”,packageMap:map18},
{name:“dojo”,位置:“../../dojo-build-1.6.1/dojo”,main:“dojo”},
{name:“dijit”,位置:“../../dojo-build-1.6.1/dijit”},
{名称:“dojox”,位置:“../../dojo-build-1.6.1/dojox”}
],
};
我尝试了类似的方法(使用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>

var location18=“/dojo18”;
var location16=“/dojo16”;
var map16={dojo:“dojo16”,dijit:“dijit16”,dojox:“dojox16”},
dojoConfig={
套餐:[
{name:“dojo16”,位置:location16+“/dojo”,packageMap:map16},
{name:“dijit16”,位置:location16+“/dijit”,packageMap:map16},
{name:“dojox16”,位置:location16+“/dojox”,packageMap:map16},
{name:“dojo”,位置:location18+“/dojo”},
{name:“dijit”,位置:location18+“/dijit”},
{名称:“dojox”,位置:location18+“/dojox”}
]
};
require([“dojo/date”],函数(日期){
控制台日志(“日期18”,日期);
});
要求([“dojo16/date”],函数(日期){
控制台日志(“日期16”,日期);
});
我得到的错误似乎与加载两个日期模块有关。不确定Dojo是否可以单独治疗,但我没有做到这一点


您可以通过
dojo16.date
访问dojo16日期模块。我不知道您是否能够使用新的
require
函数访问1.6模块,因为它们是AMD。此外,我看到您加载的是dojo 1.8(
),而不是dojo 1.6。是的,我不确定是否应该同时导入这两个模块。你的链接--没有提到脚本导入,我想我在使用重复的
define
函数时遇到了问题。