草庐IT

版本不匹配

全部标签

javascript - 同时测试两个不同的 npm 包版本

当我创建一个npm包时,有时它会面临需要倒退旧的依赖包版本。如果新版本有新的api,我可能会这样写代码:importpkgfrom'some-pkg';constisNewVersion=pkg.newVersionApi!=='undefined';if(isNewversion){pkg.newVersionApi();}else{pkg.oldVersionApi();//backwardcompatibleapi}并且使用这种模式,当我想编写测试时,我只能测试已安装版本代码。无法测试其他版本的代码。举个真实的例子,在Reactv15和v16中,Reactv16有新的APIPor

javascript - Chrome 75 正则表达式, 'S' 匹配奇怪的 unicode 范围

我们在最新版本的Chrome(75)上有一个奇怪的错误,它将S替换为Sconsole.log('AZERTYUIOPQSDFGHJKLMWXCVBN'.replace(/[\u00A0-\u9999&]/gim,char=>`&#${char.charCodeAt(0)};`))//AZERTYUIOPQSDFGHJKLMWXCVBN有人知道是代码问题还是Chrome问题吗? 最佳答案 已在75.0.3770.142中修复。你发现了一个有趣的错误:由于某些原因,这两个测试是正确的,这取决于不相关的字符范围:>/[\u0178-\u0

javascript - 在 IE 8 及更低版本中动态添加 @font-face 规则

我正在使用IEstylesheet.addRule()方法添加@font-face规则。但是,对于该方法的“选择器”参数,@符号是不允许使用的字符,因此我收到“无效参数”错误。s.addrule("@font-face","font-family:'FontName';src:url('/fonts/font.eot')etc...)";有没有其他方法可以动态添加这些规则?我试过设置样式元素的innerHTML属性,设置styleSheet属性的cssText属性,并将文本节点附加到样式元素(这会导致IE崩溃)。还有其他方法可以尝试吗? 最佳答案

javascript - javascript正则表达式中回车、换行和多个空格的匹配

我正在尝试用单个空格替换回车符(\r)和换行符(\n)以及多个空格('')。我使用了\W+来帮助实现这一点,但是它也用空格替换了特殊字符。我想改变这个只替换上面的字符。请帮助我使用javascript中的replace方法使用正确的正则表达式。 最佳答案 这会起作用:/\n|\s{2,}/gvarres=str.replace(/\n|\s{2,}/g,"");您可以在这里进行测试:https://regex101.com/r/pQ8zU1/1 关于javascript-javascri

javascript - 当页面上已有旧版本时,如何在 chrome 扩展内容脚本中使用 jquery

我正在编写一个chrome扩展程序来调整页面布局。我想使用最新版本的jQuery来执行此操作。有问题的页面已经包含1.4.4版的jQuery作为其脚本的一部分。如果我包含较新版本的jQuery,页面就会挂起。我怎样才能包含最新版本的jQuery,以便它只对我的内容脚本可用,而不影响页面上已有的脚本? 最佳答案 如果您将jquery作为内容脚本注入(inject),它将是sandboxed,无论父页面使用什么,您都不会遇到任何冲突。 关于javascript-当页面上已有旧版本时,如何在c

javascript - react 路由器位置不匹配任何路线

我被react-router路由困住了。我收到错误:Warning:[react-router]Location"/FluxApp/"didnotmatchanyroutes这是我的app.js:varReact=require('react');varReactDOM=require('react-dom');varRouter=require('react-router').Router;varRoute=require('react-router').Route;varIndexRoute=require('react-router').IndexRoute;varbrowser

javascript - 如何使用angular cli升级次要版本的angular

这是一个简单的问题,但我很难通过Google找到答案...我有一个Angular4项目(使用AngularCLI创建)并且想使用刚刚在4.3中发布的http拦截器。如何使用AngularCLI升级到这个次要版本? 最佳答案 主要版本的Angular更新应该通过ngupdate完成。用于更新Angular次要/补丁版本的npmupdate有一个缺点:它还会更新其他不相关的包。您可以使用npm-check-updates仅更新特定包,您可以选择针对补丁/次要/主要版本。此命令将更新所有Angular包次要(和补丁)版本(但它会保留主要版

javascript - 是否有现有或即将推出的 CSS3 选择器来匹配属性名称的子字符串?

您可以执行[foo^="bar"]来匹配具有foo属性且值以bar开头的节点。有没有办法匹配具有以特定字符串开头的属性name的节点?这个用例是用data-*属性匹配所有节点。编辑:我尝试这样做的原因是为了避免遍历所有节点以查找这些属性(出于性能原因)。我将使用querySelectorAll及其针对旧版浏览器的Sizzlepolyfill。 最佳答案 一种方法是使用.filter()方法:$('element').filter(function(){return$.grep(this.attributes,function(val

Javascript 正则表达式匹配字符串中以 '#' 开头的任何单词

我对正则表达式很陌生。我正在尝试匹配不包含换行符的字符串中以“#”开头的任何单词(内容已在换行符处拆分)。示例(不工作):varstring="#iPhoneshouldbeabletocompl#teand#deleteitems"varmatches=string.match(/(?=[\s*#])\w+/g)//Wantmatchestocontain['iPhone','delete']我正在尝试匹配“#”的任何实例,并捕获它后面的东西,只要它后面至少有一个字母、数字或符号。一个空格或一个换行符应该结束比赛。“#”应作为字符串的开头或以空格开头。这个PHP解决方案看起来不错,但

javascript - Highcharts 上的双 y 轴匹配

我在图形上表示血压,我想同时表示收缩压和舒张压以及图形。通常,这些图形按照以下规则一起显示:90收缩压应与60舒张压处于同一水平140收缩压应与90舒张压处于同一水平所以我认为这是因为最大和最小值是基于个人设置的,所以我开发了这个来尝试解决这个问题:functiongetObjectSystolicDiastolic(){varmin_systolic=getMinValue(80,person.data,10),max_systolic=getMaxValue(150,person.data,10),min_diastolic=getMinValue(50,person.data,1