如何使用节点在我的代码中正确地要求jquery和JSDOM?

时间:2018-05-31 05:07:52

标签: jquery node.js jsdom

我无法使用jquery和JSDOM。我正在使用已编译的原子节点和已经安装并且需要的nightmarejs,并且nightmarejs正常工作。

对于jquery和JSDOM,我做了与nightmarejs相同的事情并使用了:

npm install jquery --save
npm install JSDOM --save

我目前有编码:

var Nightmare = require ('nightmare');
var nightmare = Nightmare({ show: true , height: 900});
const  jsdom  =  require("jsdom");
const   { JSDOM }  = jsdom;
    require("jsdom").env("", function(err, window) {
        if (err) {
            console.error(err);
            return;
        }

        var $ = require("jquery")(window);
    });

如果我删除涉及JSDOM和jquery的所有编码,我的编码将起作用,但是一旦我需要它们并在终端中运行它我就会收到错误:

require(...).env is not a function

那么我需要做些什么才能让它正常工作?

1 个答案:

答案 0 :(得分:0)

我设法自己找到了答案。您不能在最新更新中使用.env,因此请正确使用我:

var jsdom = require('jsdom');
const { JSDOM } = jsdom;
const { window } = new JSDOM();
const { document } = (new JSDOM('')).window;
global.document = document;

var $ = jQuery = require('jquery')(window);