2012-10-09 84 views
1

在我們道場的系統,我們有一些像我們dojoConfig在下列規定:Dojo構建包配置

packages: [{ 
    name: "myWidgets", 
    location: "/js/libs/widgets" 
}] 

所以,在我們需要聲明,所有我們需要做的是一樣的東西:

require(["myWidgets/myCalendarWidget".... 

問題是,當我運行構建,這個dojoConfig不可用,我得到許多缺少的依賴關係錯誤,因爲'myWidgets'沒有根據構建配置文件定義。

現在,我已經嘗試向構建配置文件添加一個包塊,但最終結果是創建一個實際的'myWidgets'包,這是我不想要的。

那麼,有什麼辦法讓構建看到'myWidgets'別名的定義,但是構建輸出的最終結果仍然是鏡像常規文件結構(即/ js/libs/widgets)嗎?我試圖在構建配置文件的defaultConfig元素中定義這些路徑別名,這也不起作用。

+0

道場的什麼版本? –

+0

對不起,它的1.7.2 – sma

回答

1

如果您使用的是配置文件,您可以在配置文件中指定的包

/util/buildscripts:./build.sh profile=../../../myProfile.js 

http://dojotoolkit.org/reference-guide/1.8/build/buildSystem.html#profile-basics

你也可以指定保存dojoConfig

/util/buildscripts:./build.sh --dojoConfig ../build/examples/dojoConfig.js 

http://dojotoolkit.org/reference-guide/1.8/build/buildSystem.html#using-a-package-configuration JavaScript文件


迴應你的評論。路徑與dojo.js的相對位置是相對的。

var dojoConfig = { 
    parseOnLoad: true, 
    isDebug: true, 
    locale: 'en-us', 
    paths: { 
     "evf":  "../../evf" 
    } 
}; 

我的目錄結構看起來像

js/dojo-1.8.0 
    dijit 
    dojo <-- contains dojo.js 
    dojox 
    util 
js/evf 
    myCustomWidget.js 
+0

我試過在命令行上實際使用配置文件和dojoConfig文件。最終的結果是我沒有缺失的依賴性錯誤,但myWidgets包是在項目根目錄再次創建的。 構建配置文件中的'packages'屬性與dojoConfig中的'packages'屬性之間有什麼區別? – sma

+0

我沒有看到任何可能輸出到別的地方。您將不得不手動複製文件。 –

+0

我們是否正確使用dojoConfig中的packages屬性呢?我嘗試使用'路徑',但也沒有工作。我只需要在dojoConfig中指定一個路徑的別名,但不會在構建時爲其創建一個包。 – sma