所以我最近一直在C9上使用Node.js,并在一个javascript文件中遇到了这个问题:
jsdom.env("", function(err, window) { TypeError: jsdom.env is not a function
这是我的代码:
var jsdom = require('jsdom'); var $; jsdom.env("", function(err, window) { console.log("what"); if (err) { console.error(err); return; } $ = require("jquery")(window); $.ajax(settings).done(function (response) { console.log(response); }); });
我更新了所有依赖关系以及Node本身,但仍然遇到此问题。有人知道怎么回事吗?
我面临着同样的问题。正在网上寻找解决方案。事实证明,jsdom自v10以来已更新了一些功能。因此,我想在快速应用程序的Node.js端使用jQuery,并且必须像下面这样进行操作:
var jsdom = require('jsdom'); const { JSDOM } = jsdom; const { window } = new JSDOM(); const { document } = (new JSDOM('')).window; global.document = document; var $ = jQuery = require('jquery')(window);
从v10开始不推荐使用.env()。希望这对您或遇到此类问题的任何人有帮助。