我正在关注丽贝卡·穆尔佩的这篇文章:
http://blog.rebeccamurphey.com/scaffolding-a-buildable-dojo-application
我用我自己的档案结构代替了她的档案结构。
正常版本的脚本运行良好,但在我使用构建工具编译它们时,脚本错误。
通过我的Profile.js脚本引用这些文件很可能是一个小问题,但是这里的人也许可以帮助我在运行构建工具之前得到正确的设置,这样编译后的文件就可以正常工作了。
我的文件结构如下…
/www
再收益/资产
成本
成本
build.sh
Init.js
Load.js
Profile.js
商品
Dojo.js
.=‘3’>/dojo-sdk
index.html
我的index.html文件有以下代码..。
<script>
粉末冶金var djConfig = {
成品率-成本-modulePaths : {
商品
成品率-成本-}
粉末冶金};
</script>
<script src="Assets/Scripts/Dojo/Dojo.js"></script>
<script>
粉末冶金dojo.require('Integralist.Init');
</script>
...and Init.js文件有以下代码..。
dojo.provide('Integralist.Init');
dojo.require('Integralist.Load');
dojo.declare('MyApp', null, {
粉末冶金constructor: function(config) {
成品率-成本-this.version = config.version || '1.0';
成品率-成本-this.author = config.author || 'Unknown';
粉末冶金}
});
var myapp = new MyApp({
粉末冶金author: 'Mark McDonnell'
});
alert(myapp.author);
alert(myapp.version);
...lastly,Load.js文件里什么都没有,但这个.
dojo.provide('Integralist.Load'); alert('I\'m the Load.js file');
...and这一切都运行的很好。当我加载index.html时,我会收到3条警告消息,非常棒。
当我试图运行构建工具时,会出现问题。
通过Mac,我定位/Classes/目录并运行'sh build.sh‘,/ build.sh /目录中的build.sh文件由以下代码组成.
cd ../../../dojo-sdk/util/buildscripts
./build.sh profileFile=../../../Assets/Scripts/Classes/Profile.js releaseDir=../../../Assets/Scripts/Release
...now,在运行构建工具之后,我在我的/Scripts/目录中创建了一个新的/Release/目录,这个/Release/目录由.
/www
再收益/资产
成本
自愿性
自愿性、自愿性/完整性
商品、商品等
Init.js
Init.js.uncompressed.js
商品、金融、金融、商业、金融、金融、商业、金融、商业、金融、金融、商业、金融、商业、金融、金融、商业、金融、金融等行业的商品、金融、商业、金融、金融、商业、金融等行业的商业、商业、金融、金融、商业、金融等领域的商业、商业、金融、金融、商业、金融等领域的商业、商业、金融等行业的商业、商业、金融等行业的发展。
/T1381-1988技术产品的产品产品、技术产品、产品等.
然后,...I创建了一个单独的索引文件,名为index Release-version.html,并按照本文的建议修改了脚本代码,因此它看起来如下…
<script src="Assets/Scripts/Release/Integralist/dojo/dojo.js"></script>
<script>
粉末冶金dojo.require('Integralist.Init');
</script>
...from这里我得到了以下错误..。
Failed to load resource: the server responded with a status of 404 (Not Found)
Uncaught Error: Could not load 'Integralist.Init'; last tried '../Integralist/Init.js'
...and仅供参考,我的构建工具使用的Profile.js文件由以下内容组成(我认为问题就在这里).
dependencies = {
粉末冶金stripConsole : 'all',
粉末冶金action : 'clean,release',
粉末冶金optimize : 'shrinksafe',
粉末冶金releaseName : 'Integralist',
粉末冶金localeList : 'en-gb',
粉末冶金layers: [
成品率-成本-{
商品
商品
商品
/T1582-1997商业银行的商业、商业、金融、金融等行业的商业、商业、金融等行业的发展
商品
成品率-成本-}
粉末冶金],
粉末冶金prefixes: [
成品率-成本-[ "Integralist", "../Classes" ]
粉末冶金]
}
任何帮助都是值得感激的,因为我非常想了解Dojo的工作原理:-)
谢谢!
M.
发布于 2010-08-22 21:06:04
您的index-release-version.html中有那个index-release-version.html变量吗?看起来Dojo想在../Integralist/Init.js上找到../Integralist/Init.js,但是您需要告诉它看看../Classes/Init.js
这就是您的modulePaths:{'Integralist' : '../Classes'}在您的Index.html中所做的事情
发布于 2010-08-23 00:46:21
我建议从我的博客文章(http://github.com/rmurphey/dojo-scaffold)链接到的回购工具工作--我反复检查了它是否确实有效:) --并对其进行修改,直到你的变化破坏了什么东西,而不是试图立即创建自己的结构。
乍一看,我不太清楚为什么您在目录结构中有一个Dojo.js文件(这是基本的Dojo还是其他什么的?),但是Dojo的其余部分位于其他地方。如果使用我建议的结构,那么在使用构建的文件时可以安全地删除djConfig声明,但是正如Dan提到的,如果您使用的是不同的配置,则可能需要保留它。
https://stackoverflow.com/questions/3542957
复制相似问题