我一直在使用託管在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