2015-09-29 56 views
0

我需要DOJO 1.3和DOJO 1.10的區別。DOJO JS升級

在我的應用程序中,我們使用的是1.3版本,所以我們打算使用最新版本1.10。只是我從網上免費下載了1.10版本,然後我比較了版本之間的源代碼。我發現很多差異,所以我對升級感到震驚,因爲我是否可以替換,或者我必須重新編寫代碼。

我不知道它們之間的版本。我知道舊版本中的代碼級別更改,但是尚未更換。

所以任何人都可以建議我的差異。我如何將代碼升級到最新版本?

感謝提前:)

+0

對於接下來的時間,嘗試升級更多經常...你必須發佈e發佈版本的所有發行說明 –

+0

DOJO有兩種許可 - 學術免費許可和修改的BSD許可。 1.我是否可以修改開源代碼? 2.如果是這樣,我可以使用任一許可證並根據我的要求修改開源代碼? books.google.co.in/... 3.如果不是,我可以使用哪個許可證進行修改?@JuanMendes – Dinu

回答

2

你最好的資源將成爲release notes,其中存在每個增量次要版本。

就「如何升級」而言,這取決於您的最終目標是什麼。道場的大部分目標是向後兼容,所以應該大多仍然工作。下面是一些比較容易的地方我能想到的東西,順便打破:

  • 自定義部件樣式(因爲一些小部件DOM結構發生變化,尤其是大約1.5-1.7)
  • 依賴自定義部件擴展內部方法
  • 自定義構建配置文件 - 1.7之前的構建系統爲人們提供了自由做一些非常規的事情的人,而1.7或更高版本的構建系統將所有非AMD模塊轉換爲AMD,其中往往主要是通過使這些模塊中的全局變量不再是全局的,因爲將它們封裝在一個函數中(但是全局變量m應避免odules)

如果你有興趣在更新你的代碼使用Dojo中的更高版本提供的功能,這裏的主要研究領域的一些例子(這當然不是預計的詳盡列表):

  • 交換舊模塊格式(與AMD模塊dojo.providedojo.require),而不再依賴於全局/全局命名空間
    • 與轉換爲AMD的最終目標應該是使你rself添加async: truedojoConfig,其配置裝載機下降向後兼容同步加載(這是慢)和行爲嚴格等的AMD裝載機
  • 更新任何數據存儲到使用dojo/store(或甚至dstore,雖然只dgrid此刻直接支持此操作)而不是dojo/data
  • 更新任何異步邏輯以使用在Dojo 1.8中更新的API deferred/promise - 承諾最初在1.5版中引入到Dojo,並且它們提供了比舊版本1.5更穩定的概念延期(每當鏈接回調時都會發生變化,並且可以通過引用它來解決/拒絕)
  • 更新XHRs使用dojo/request而不是dojo.xhrGet等。的dojo.connect
  • 更新使用使用dojo/on事件或dojo/aspect爲方法連接點
  • 更新小窗口調用get('foo')set('foo')(和執行自定義存取器/轉變器_getFooAttr_setFooAttr)代替getFoosetFoo

其他一些值得關注的東西:

  • Modern Dojo教程解釋說,已在1.7+
  • Builds教程提供了全面的(也許太徹底)指導如何使用/配置構建系統
  • IntroAdvanced AMD教程變化的東西會幫助,如果你」從來沒有使用之前
  • dojo-amd-converter項目可能是值得的AMD格式的試運行至少給你的類型的東西的想法,以取代更新代碼
+0

感謝您的詳細解釋 – Dinu

+0

DOJO有兩種許可 - 學術免費許可和修改的BSD許可。 1.是否可以修改開源代碼? 2.如果是這樣,我可以使用任一許可證並根據我的要求修改開源代碼? https://books.google.co.in/books?id=udhiIz1WAokC&pg=PA195&lpg=PA195&dq=Modification+of+open+source+code+dojo&source=bl&ots=IxNZ2ls-46&sig=mQCIiwwXHyMfpjduckH6A9NhNrc&hl=en&sa=X&ved=0CD0Q6AEwBWoVChMIl7aGk7ieyAIV0VuOCh30kwxz# v = onepage&q =修改%20of%20open%20source%20code%20dojo&f = false 3.如果不是,我可以使用哪個許可證進行修改?@KenFranqueiro – Dinu

+0

這兩個許可證都允許修改,這看起來很清晰(雖然我會注意到,幾乎所有的dojo書籍都有五十年的歷史,並且從[tutorials](http://dojotoolkit.org/documentation/)學習會更好)。我還要提到,在你自己的軟件包中擴展dojo組件通常要更實用/推薦,而不是直接修改源代碼,因爲直接修改源代碼會使未來的升級成爲一場噩夢。 –