2011-06-22 58 views
2

我看了一下dojo-node模塊(https://github.com/agebrock/dojo-node),作者說Dojo 1.7本地支持Node.js。如何在Node.js中引導Dojo 1.7?

Dojo 1.7中有一個configNode.js文件,但我不確定如何使用它來讓Dojo啓動並運行。

http://download.dojotoolkit.org/release-1.7.0b1/dojo-release-1.7.0b1/dojo/_base/

有人能指出我到正確的方向?也許讓我看一個小例子吧?

感謝任何幫助,我可以得到。

+0

作爲一個側面說明我會建議不要使用服務器上的客戶端框架。可以說,使用'Dojo'並不像'jQuery'那麼糟糕,但它仍然非常糟糕。瀏覽['npm'](http://npmjs.org/)獲得_designed_庫以解決node.js上的問題 – Raynos

+0

您可能是對的,但Dojo有一些很好的功能,我只是想看看它們是如何'在Node.js上運行Dave Glass(雅虎)關於在Node上使用YUI的介紹讓我印象深刻,只是想用Dojo&Node來介入。 – alessioalex

+0

這是可能的,但它遠非最佳。和YUI3一樣好,我不會推薦它。你基本上必須自己編寫所有的引導文件:) – Raynos

回答

3

這裏是我的解決方案,雖然它可能看起來棘手,因爲我不能搜索出任何官方的例子,我要讀的來源和解決它:

  1. 設道場是/home/root/dojoroot/dojo/dojo.js

  2. 與內容創建/home/root/mynode/test.js

    dojoConfig = {packages:[{name: 'test', location: '../../mynode'}]}; 
    require('../dojoroot/dojo/dojo'); 
    
  3. 與內容創建/home/root/mynode/main.js

    define(['dojo/date'], function(date){ 
        console.log('Hi ' + date.getTimezoneName(new Date()) + ', welcome to NodeJS!'); 
    }); 
    
  4. $>節點/home/root/mynode/test.js負荷=試驗

+0

這是如何神奇地工作。什麼將'define'注入全局範圍? – Raynos

+0

@Raynos - Dojo加載器在'dojo.js'中這樣做。見https://github.com/dojo/dojo/blob/master/dojo.js – lawnsea

+0

@lawnsea我希望它沒有注入全球範圍內的東西:( – Raynos