我一直在使用托管在Google CDN上的Dojo。我只是下载了开发版本,所以我可以做一些调试。当使用本地存储的dojo时,Firebug会报告几个语法错误。他们都看起来像这样:
SyntaxError: syntax error
(no script)(""en-us"")bootstrap.js (line 601)
(no script)(""dojo.cldr"", ""number"")bootstrap.js (line 590)
(no script)(""dojo.cldr"", ""number"")loader.js (line 634)
(no script)(""./number.js"", ""dojo.number"")loader.js (line 76)
(no script)(""dojo.number"")loader.js (line 411)
(no script)(""./currency.js"", ""dojo.currency"")loader.js (line 76)
(no script)(""dojo.currency"")loader.js (line 411)
(no script)(""../dijit/form/CurrencyTextBox.js"", ""dijit.form.CurrencyTextBox"")loader.js (line 76)
(no script)(""dijit.form.CurrencyTextBox"")loader.js (line 411)
[Break on this error] (601 out of range 505)
bootstrap.js (line 601)
我知道我有道场正确设置我的整个布局,视图和控制器,因为如果我使用一个CDN道场正常工作。我也已经验证了localpath正确地解析了它。
这是初始化的样子使用CDN(此工作正常):
<head>
<?php echo $this->headMeta(); ?>
<?php echo $this->headTitle(); ?>
<?php echo $this->headLink(); ?>
<?php echo $this->headScript();
if ($this->dojo()->isEnabled()) {
$this->dojo()->setCdnVersion('1.5')
->addStyleSheetModule('dijit.themes.claro');
echo $this->dojo();
}
?>
</head>
而这正是它看起来像使用本地版本:
<head>
<?php echo $this->headMeta(); ?>
<?php echo $this->headTitle(); ?>
<?php echo $this->headLink(); ?>
<?php echo $this->headScript();
if ($this->dojo()->isEnabled()) {
$this->dojo()->setLocalPath('/js/dojo/dojo.js')
->addStyleSheetModule('dijit.themes.claro')
->setDjConfigOption('parseOnLoad', true)
->setDjConfigOption('isDebug', true);
echo $this->dojo();
}
?>
</head>
我在做什么错与使这些语法错误发生的本地路径?
我没有看到语言环境问题的任何运气,但我今天终于生成了一个工作解决方案,这不是一种解决方法。我把它作为下面的答案发布。我希望它能帮助你把事情做到最后!我很欣赏你给的意见,因为它让我再次看到这一点;-) – MikeH 2010-08-08 18:30:04
谢谢MikeH。 我想我会做的只是使用一个内置版本,然后在我们发布之前进行自定义生成,如下所述。自定义构建绝对是最终发布的途径,因为它们真正将尺寸缩小并针对您的应用需求进行优化。 只是为了完成这个线程,这里是Dojo论坛的一个链接,指出丢失文件的问题,并指出它是由于Dojo的非内置/源版本: http:// dojo-toolkit。 33424.n3.nabble.com/1-4-error-missing-files-tp327313p327313.html – KenP 2010-08-11 19:50:15