2011-12-12 141 views
2
jsdom.env({ 
       html: "<html><body></body></html>", 
       scripts: [ 
       //'http://code.jquery.com/jquery-1.5.min.js' 
        'http://server.local:3000/jquery/jquery.min.js' 

       ] 
      }, function (err, window) { 

它不工作脚本是'http://server.local:3000/jquery/jquery.min.js'(它可以使用浏览器)jquery。 min.js是jquery-1.5.min.js的副本jsdom.env:本地jquery脚本不起作用

如果脚本是'http://code.jquery.com/jquery-1.5.min.js' - 它都可以。

出了什么问题?

+1

是什么'err'样子? – tmpvar

+0

参见https://github.com/tmpvar/jsdom/issues/379 – GrGr

回答

6

这不是直接回答你的问题,但也许其他人像我这样做了这个问题。

您可以在脚本条目中指定本地文件。只需在其中放置一个绝对路径或添加一个documentRoot条目并使用相对路径。例如。

jsdom.env({ 
     html: "<html><body></body></html>", 
     documentRoot: __dirname + '/lib', 
     scripts: [ 
      'jquery/jquery.min.js' 
     ] 
    }, function (err, window) { 
    } 
); 
0
function domify(cb){ 
    var file= __dirname + '/public/jquery.js'; 
    var jquery = fs.readFileSync(file).toString(); 
    jsdom.env({ 
     html: "<html><body></body></html>", 
     src: [jquery], 
     done: function (err, window) { 
      cb(err,window); 
     } 
    }); 
} 

这个工作对我来说