草庐IT

javascript - jquery 不适用于 jsdom/enzyme

我有一个包含以下组件的最小测试React应用程序:importReactfrom'react';import$from'jquery';exportdefaultclassAppextendsReact.Component{componentDidMount(){console.log('componentDidMount',$('#helloDiv').length);}render(){returnHelloReact!;}}在浏览器(Chrome)中加载它时效果很好。componentDidMount()中的console.log()打印出1helloDivelementfoun

javascript - 如何使用 jsdom、D3 和 IJavascript 在 Jupyter notebook 中输出 SVG

我不擅长前端开发,但最近玩了很多Javascript和D3。习惯于使用JupyterNotebooks在Python中进行科学分析,我认为应该可以使用类似的工作流程,在具有JS内核的Jupiternotebook中使用JS代码使用D3开发科学可视化。我看过n-riesco的IJavascriptproject看起来很有希望,但是当尝试导入D3时笔记本会抛出错误://npminstalld3vard3=require('d3');抛出ReferenceError:documentisnotdefined我猜这是因为Jupyter环境(becauseMikeBostocksaysso)中没

javascript - JSDom 11.12.0 - 如何模拟 localStorage?

自从最新版本的JSDom以来,我无法再模拟localStorage。我试过以下方法:Object.defineProperty(window,'localStorage',{value:LocalStorageMock})window.localStorage=LocalStorageMock;jest.spyOn(window.localStorage,'setItem')任何这些方法都不适合我,我总是得到原始的localStorage。 最佳答案 setItemSpy=jest.spyOn(Storage.prototype,'

javascript - 使用 Jasmine 和 node.js 测试客户端 javascript 代码

给定:客户端javascript代码(在浏览器中运行,使用jquery等)。目前,代码已使用Rhino和envjs进行测试。我们想切换到node.js。然而,经过一些研究,找不到任何类似envjs的模拟浏览器的补充。在“按原样”运行node.js时,甚至缺少alert()或window等基本功能。node.js是否有类似于Rhino&envjs的标准包? 最佳答案 你可以使用zombie.js,其中包含测试所需的一切。或者您可以利用jsdom(zombie.js在内部使用)在node.js中获取DOM,并针对该DOM执行测试。我也可

javascript - TypeError : require(. ..).jsdom 不是函数

我使用visualstudio2015进行nodejsweb开发。我有以下用于nodejs的包。正文解析器1.18.1表达4.15.4jquery1.7.4html1.0.0jsdom11.2.0我的server.js是varhttp=require('http');varexpress=require('express');varbodyParser=require('body-parser');varjsdom=require('jsdom');varpath=require('path');varport=process.env.port||1337;varapp=express

javascript - jsdom.env 不适用于 node.js C9

所以我最近一直在C9上使用Node.js,并在javascript文件中遇到了这个问题:jsdom.env("",function(err,window){TypeError:jsdom.envisnotafunction这是我的代码:varjsdom=require('jsdom');var$;jsdom.env("",function(err,window){console.log("what");if(err){console.error(err);return;}$=require("jquery")(window);$.ajax(settings).done(function

javascript - 使用 JSDom 设置 location.hash 和 location.href

我正在使用JSDom设置一些测试我需要window和document全局变量,还需要为每个测试传递不同的URL/href。如何设置location.hash和location.href属性?global.document=jsdom({url:'http://localhost?something=not#test','html':''});global.window=document.defaultView;console.log(window.location.href);//returns'about:blank'console.log(window.location.hash)

javascript - Node.js 抓取、转换图像 src -> 完整 URL

我正在使用Cheerio(https://github.com/MatthewMueller/cheerio)来抓取网站并获取我正在进行的项目的图像。我想知道Node.js(或其他包)是否有一种简单的方法将$(img).attr('src')转换为完全限定的URL?有时我会得到“image.jpg”,有时会得到“../../image.jpg”,有时会得到“//somepath/image.jpg”。也许我只是缺少某种正则表达式......谢谢你的时间:) 最佳答案 查看Nodeurl模块。具体url.resolve(from,to

javascript - React.addons.TestUtils.Simulate.scroll 不工作

我正在尝试使用ReactJS和JSDOM模拟滚动事件。最初我尝试了以下方法:varfooter=TestUtils.findRenderedDOMComponentWithClass(Component,'footer');footer.scrollTop=500;TestUtils.Simulate.scroll(footer.getDOMNode());//Itriedthisaswell,butnoluck//TestUtils.Simulate.scroll(footer);根本不会传播滚动事件。然后,我手动创建了事件并且一切正常:varevt=document.createE

javascript - 使用 NodeJS 生成服务器端 HighStock 图表

我正在使用HighStock在浏览器中生成一些图表。但是现在我想将其中一些存储在服务器上。所以我知道HighCharts可以导出到服务器,但如果可能的话我宁愿使用其他方式。事情是在服务器上运行HighStock并将svg转换为某种图像格式,然后将其存储在那里。快速谷歌搜索给我thispage.结合HighCharts和NodeJS似乎是正确的方法,但此解决方案不适用于较新版本的HighCharts。更准确地说,使用jsdom带有HighStockv1.0.2的NodeJS中的模块(v0.2.10-最新)(查看以下代码):varjsdom=require('jsdom');varfs=r