2010-10-21 36 views
2

我在我的node.js應用程序中使用jQuery與jsdom。此外,我想使用jQuery插件(例如jQuery.diff),但我找不到如何做到這一點。 有什麼出路嗎?jQuery插件node.js

回答

4

在文檔中創建一個腳本標記以將腳本加載到其中。例如:

createWindow = function(fn) { 
    var window = jsdom.jsdom().createWindow(), 
     script = window.document.createElement('script'); 

    jsdom.jQueryify(window, function() { 
     script.src = 'file://' + __dirname + '/some.library.js'; 
     script.onload = function() { 
      if (this.readyState === 'complete') { 
       fn(window); 
      } 
     } 
    }); 
} 

createWindow(function(window) { 
    // Do your jQuery stuff: 
    window.$('body').hide(); 
}); 

來源:http://blog.davidpadbury.com/2010/10/03/using-nodejs-to-render-js-charts-on-server/

+0

爲了澄清,jQueryify方法與some.library.js加載調用有效地做了相同的事情。看看http://github.com/tmpvar/jsdom/blob/master/lib/jsdom.js#L34。 – 2010-10-28 18:44:45

+0

只是爲了節省你們一些時間:目前有一些jsdom和nodejs> = 0.2.3的問題。在腳本的上下文中,由於沙盒更改的方式,窗口評估爲{}。 – balu 2010-10-28 21:28:07

+0

謝謝。有用。我應該仔細閱讀包裹的文件。 – mhayashi 2010-10-29 06:20:12

0

我有我的工作圖書館在其上的jQuery到節點的端口 - bit.ly/node-jquery

的目標是做VAR $ = require('node-jquery')和使用jQuery庫或作爲普通

+0

謝謝,但我可以使用jQuery與jsdom.jQuerify()。我想知道如何評估node.js應用程序中的jQuery插件的.js文件。 – mhayashi 2010-10-22 16:02:24