2010-10-21 39 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