草庐IT

CREATE_NEW_CONSOLE

全部标签

javascript - Node.js:如果方法抛出异常,console.log 消息不会显示...为什么?

在Node.js中,如果我有一个抛出异常的方法,则该方法的console.log语句不会触发。我认识到,在下面的简单测试用例中,我应该从readFileSync调用中捕获异常,或者以其他方式防御它。只是好奇是否有人可以向我解释这种行为。简单的测试用例:varfs=require('fs');functionreadAFileThatDoesntExist(filename){console.log(filename);fs.readFileSync(filename);}console.log("We'reabouttoreadafilethatdoesn'texist!");read

javascript - Ember 数据 : Get a Model in the Console

我在这个JSBin中拥有最简单的Ember应用程序.我要做的就是找到一个模型。基于其他SOquestions,我尝试了以下方法。App.User.get('store').find('user',1);App.User.Store.find('user',1);我已经定义了App.Store,但是App.Store在控制台中返回了undefined。我显然错过了Ember模型的绝对最基本的概念。请像我5岁一样解释一下好吗?我真的只是想返回一个user对象并调用它的属性。 最佳答案 商店被注入(inject)路由/Controller

javascript - 检测 console.log() 调用

我正在尝试为使用console.log()将消息写入JavaScript控制台的调试方法编写测试用例。测试必须检查消息是否已成功写入控制台。我正在使用jQuery。有没有办法将钩子(Hook)附加到console.log()或以其他方式检查消息是否已写入控制台,或关于如何编写测试用例的任何其他建议? 最佳答案 console.log不会记录已记录的消息,也不会发出您可以监听的任何事件。您的测试不可能直接验证其来自JavaScript的输出。相反,您的测试代码需要将console.log替换为一个mock实现,该实现会跟踪日志消息以供

javascript - create-react-app npm run start 在生产模式下。也许不可能?

我需要像简单地那样运行服务器:npm运行开始但我需要使用生产模式。这可能吗?在ember或angular中是可能的。在create-react-app中怎么做?我尝试了npmrunstart--prod但没有。 最佳答案 最好的选择可能是进行正常的生产构建,然后在本地运行。首先安装一个HTTP服务器:npminstallserve-g然后:npmrunbuildserve-sbuild默认情况下,它将在端口5000上运行,因此您的本地URL是http://localhost:5000 关

javascript - 为什么 console.log(document.getElementById( 'blah' ))) 在 Chrome 中给出不同的日志消息?

$(document).ready(function(){console.log(document.getElementById('blah'));})我真的很想知道为什么有时我会...其他时候我得到...似乎随机记录不同。 最佳答案 这看起来确实是随机的,至少在Chrome中是这样。如果您想在Chrome控制台中以一种或另一种方式强制使用它,您可以使用console.dir和console.dirxml。console.dirxml将强制输出类似于您的第一个示例,采用xml格式console.dir将像您的第二个示例一样以对象表示

javascript - Typescript 中的工厂函数使用和不使用 new 关键字声明文件

以下代码将在ES5中创建一个工厂函数:functionMyClass(val){if(!(thisinstanceofMyClass)){returnnewMyClass(val);}this.val=val;}可以使用或不使用new关键字调用此函数:vara=newMyClass(5);varb=MyClass(5);这在Typescript中工作正常,但是我不知道如何使用merging创建声明文件描述了这两种行为。有办法做到这一点吗? 最佳答案 interfaceMyClass{val:{};}interfaceMyClassC

javascript - .click() 事件时 'Open in new tab/window'

当我使用.click()时在上标记,事件仅在我单击该元素时有效。否则,如果用户右键单击>在新窗口中打开或在新选项卡中打开,它不会触发click()。事件。所以,我的问题是……如何触发click()当用户右键单击>在新选项卡/窗口中打开时发生的事件?这是HTML:ClickMe这是Js:$("a").click(function(){alert('Youclickedme!');}); 最佳答案 您可以尝试这段代码,但请记住更改UI不是一个好主意:varaddEvent=(document.addEventListener)?func

javascript - IE new Date(string) 到底在做什么?

好的,所以QA给了我这个错误,如果日期有一个字符开始日期的月、日或年部分(格式为MM/dd/yyyy),那么(仅在IE中)它会解析日期但是改变它..所以四处挖掘,果然它非常奇怪..这是我在IE中谈论的一些示例代码$("#dates").append("04/30/2012="+newDate("04/30/2012").toString()+"");$("#dates").append("a04/30/2012="+newDate("a04/30/2012").toString()+"");$("#dates").append("b04/30/2012="+newDate("b04/3

Javascript 热图 ReferenceError h337.create

我正在修改github上的一个现有项目,该项目使用heatmap.js从游戏“反恐精英:全局攻势”中的一场比赛中生成热图,原始开发人员似乎没有完成这部分代码或者它里面有错误。Firebug控制台说这是唯一的错误:ReferenceError:h337isnotdefinedvarheatmap=h337.create(这是它似乎责备的行:https://github.com/deStrO/eBot-CSGO-Web/blob/master/apps/backend/modules/matchs/templates/_stats_heatmap.php#L26我认为这里某处有打字错误/错

javascript - 如何使用 console.log 省略文件/行号

如今,您可以在Chrome的控制台中编写非常棒的东西。结帐this关联。我也截图了:正如您在屏幕截图中看到的,文件名/行号(VM298:4)写在右侧。是否有可能删除它,因为在我的例子中这是一个很长的名字,或多或少地破坏了我试图在我的控制台中制作的效果? 最佳答案 这很容易做到。您需要将setTimeout与console.log.bind一起使用:setTimeout(console.log.bind(console,"Thisisasentence."));如果您想对其应用CSS或其他文本,只需添加%c或任何其他%变量:setTi