Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
Javascript 使用Dojo构建工具时出现问题&x27;无法加载';尝试使用已编译脚本时出现错误_Javascript_Dojo - Fatal编程技术网

Javascript 使用Dojo构建工具时出现问题&x27;无法加载';尝试使用已编译脚本时出现错误

Javascript 使用Dojo构建工具时出现问题&x27;无法加载';尝试使用已编译脚本时出现错误,javascript,dojo,Javascript,Dojo,我一直在关注丽贝卡·墨菲的这篇文章: 我用我自己的文件结构替换了她的文件结构 运行正常版本的脚本工作正常,但当我使用构建工具编译脚本时,脚本就出现了错误 通过我的Profile.js脚本如何引用文件很可能是一个小问题,但也许这里的人可以帮助我在运行构建工具之前获得正确的设置,以便编译后的文件能够正常工作 我的文件结构如下 /www /资产 /脚本 /课程 build.sh Init.js Load.js Profile.js /Dojo Dojo.js /dojo sdk index.html

我一直在关注丽贝卡·墨菲的这篇文章:

我用我自己的文件结构替换了她的文件结构

运行正常版本的脚本工作正常,但当我使用构建工具编译脚本时,脚本就出现了错误

通过我的Profile.js脚本如何引用文件很可能是一个小问题,但也许这里的人可以帮助我在运行构建工具之前获得正确的设置,以便编译后的文件能够正常工作

我的文件结构如下

/www
/资产
/脚本
/课程
build.sh
Init.js
Load.js
Profile.js
/Dojo
Dojo.js
/dojo sdk
index.html

我的index.html文件包含以下代码



var djConfig={
模块路径:{
“Integralist”:“../Classes”
}
};



require('Integralist.Init')

…并且Init.js文件具有以下代码


provide('Integralist.Init')
require('Integralist.Load')
declare('MyApp',null,{
构造函数:函数(配置){
this.version=config.version | |“1.0”;
this.author=config.author | |“未知”;
}
});

var myapp=新的myapp({
作者:“马克·麦克唐纳”
});

警报(myapp.author)
警报(myapp.version);

…最后,Load.js文件中没有任何内容,只有这个


provide('Integralist.Load');
警报(“我是Load.js文件”);

…这一切都很顺利。当我加载index.html时,我收到3条警告消息,非常棒

当我尝试运行构建工具时,问题就出现了

通过Mac OSX,我找到/Classes/目录并运行'sh build.sh',而/Classes/目录中的build.sh文件包含以下代码


cd../../../dojo sdk/util/buildscripts

./build.sh profileFile=../../../../Assets/Scripts/Classes/Profile.js releaseDir=../../../../Assets/Scripts/Release

…现在,在运行构建工具后,我在/Scripts/目录中创建了一个新的/Release/目录,该/Release/目录包括

/www
/资产
/脚本
/释放
/积分学家
/课程
Init.js
Init.js.uncompressed.js
/dojo
--加载dojo相关文件--

…然后,我创建了一个名为index-release-version.html的单独索引文件,并按照本文的建议更改了脚本代码,因此看起来像这样




require('Integralist.Init')

…从这里我得到以下错误


加载资源失败:服务器响应状态为404(未找到)
未捕获错误:无法加载“Integralist.Init”;上次尝试“../Integralist/Init.js”

…仅供参考,构建工具使用的Profile.js文件包含以下内容(我认为问题可能就在这里)


依赖项={
stripConsole:'全部',
操作:“清洁,释放”,
优化:“shrinksafe”,
releaseName:“整合器”,
localeList:'en gb',

图层:[
{
名称:“../Classes/Init.js”,
resourceName:“Integralist.Init”,
依赖项:[
“Integralist.Init”
]
}
],

前缀:[
[“整合器”、“./类”]
]
}

非常感谢您的帮助,因为我非常想了解Dojo的工作原理:-)

谢谢


M.

索引发布版本.html
中是否有该djConfig变量?看起来Dojo正试图在
。/Integralist/init.js
中查找init.js,但是您需要告诉它在
。/Classes/init.js
中查找


这就是您的模块路径:
{'Integralist':'../Classes'}
Index.html

索引发布版本.html
中是否有djConfig变量?看起来Dojo正试图在
。/Integralist/init.js
中查找init.js,但是您需要告诉它在
。/Classes/init.js
中查找


这就是您的模块路径:
{'Integralist':'../Classes'}
在您的
Index.html

中所做的工作,我建议从我的博客帖子()链接到的repo开始工作()--我仔细检查它是否确实工作:)--并对其进行更改,直到您的更改破坏了某些内容,而不是试图马上创建自己的结构


乍一看,我不完全清楚为什么在目录结构中有一个Dojo.js文件(这是基本Dojo库还是其他什么?),但Dojo的其余部分位于其他地方。如果您使用我建议的结构,您可以在使用构建文件时安全地删除djConfig声明,但正如Dan所述,如果您使用的是不同的配置,您可能需要保留它。

我建议从我的博客帖子()中链接到的repo工作--我反复检查它是否确实有效:)--并对其进行更改,直到您的更改破坏了某些内容,而不是试图立即创建自己的结构

乍一看,我不完全清楚为什么在目录结构中有一个Dojo.js文件(这是基本Dojo库还是其他什么?),但Dojo的其余部分位于其他地方。如果使用我建议的结构,在使用构建文件时可以安全地删除djConfig声明,但是正如Dan提到的,如果使用不同的配置,可能需要保留它