草庐IT

Prototype_Console

全部标签

Node.js双console.log输出

我正在学习Node.js,我想了解当代码输出重复的console.log输出但只有一个response.write输出时的“原因”。这是我的简单代码示例:varhttp=require('http');http.createServer(function(request,response){response.writeHead(200,{'Content-type':'text/plain'});console.log('hello1');response.write('Helloworld');console.log('hello2');response.end();}).liste

javascript - Object.prototype 在 Node 中返回空对象

当我在浏览器控制台中执行Object.prototype时,我得到了Object.prototype中可用的所有属性和方法。这是预期的,但是当我在NodeJS终端中执行完全相同的事情时,我得到一个空对象{}。谁能解释一下为什么会这样?我附上了两者的截图。 最佳答案 这是因为node中的console.log()使用了util.inspect(),它在对象上使用了Object.keys(),它只返回可枚举的属性。而Object.prototype包含不可枚举的属性,这就是它返回空Node的原因。在下面的代码片段中可以观察到类似的行为,

node.js - 在 Nodejs 中,当我 console.log 一个 req 对象时, [Circular] 引用了什么?如何确定

在Nodejs中,当我console.log一个req对象时,[Circular]是什么意思?这是一个针对基本nodejs示例的console.log(req)示例。注意request.socket._readWatcher.socket是一个[Circular]。这是否意味着它指的是自己?我怎样才能取消引用它?{socket:{bufferSize:0,fd:7,type:'tcp4',allowHalfOpen:true,_readWatcher:{socket:[Circular],callback:[Function:onReadable]},destroyed:false,r

javascript - JavaScript 中的原型(prototype)不好吗?

在Felix'sNode.jsStyleGuide它说:Donotextendtheprototypesofanyobjects,especiallynativeones.Thereisaspecialplaceinhellwaitingforyouifyoudon'tobeythisrule.Thisarticle也让我质疑原型(prototype)的用途。如果您稍后要在代码中添加方法,为什么不直接在原始构造函数中添加呢?那么,什么时候需要扩展对象的原型(prototype)? 最佳答案 不,原型(prototype)还不错。恰恰

javascript - 使用 nodejs 的 Forever 将 console.logs 输出到屏幕

我刚刚发现我的nodejs应用一直在崩溃,所以我使用foreverapp.js来启动我的应用,并让它在崩溃时自动重启。问题:现在我的应用通过console.log和util.log运行时会输出很多有用的信息。我曾经使用screen来运行node应用程序,但是现在我永远使用来运行nodejs应用程序,我再也看不到所有的输出了。有没有办法实时查看nodejs应用的所有输出? 最佳答案 直接用forever命令:foreverlogsapp.js-f它显示您的应用程序的实时输出和永久日志(显示检测到的更改和重新启动消息)。

javascript - node.js 中的 console.time() 安全吗?

我面前有一小段node.js代码,如下所示:console.time("queryTime");doAsyncIOBoundThing(function(err,results){console.timeEnd("queryTime");//Processtheresults...});当然,当我在我的(否则空闲的)开发系统上运行它时,我会收到一条很好的控制台消息,如下所示:queryTime:564ms但是,如果我将其投入生产,会不会同时进行多个异步调用,并且每个调用都会覆盖前一个计时器?还是node有某种神奇的执行上下文,给每个“执行线程”一个单独的控制台计时器命名空间?

javascript - 找不到名称 'console' 。这可能是什么原因?

以下代码段显示LINE4处的typescript错误:import{Message}from'./class/message';functionsendPayload(payload:Object):any{letmessage=newMessage(payload);console.log(message);//LINE4}错误提示:[ts]Cannotfindname'console'.这可能是什么原因?为什么找不到对象console? 最佳答案 您必须安装@types/node以获取Node类型,您可以通过执行以下命令来实现,

node.js - 是否可以通过管道传输到 console.log?

我正在尝试学习node.js。我正在尝试理解流和管道。是否可以将http请求的响应通过管道传输到console.log?我知道如何通过将处理程序绑定(bind)到数据事件来做到这一点,但我对将其流式传输到控制台更感兴趣。http.get(url,function(response){response.pipe(console.log);response.on('end',function(){console.log('finished');});}); 最佳答案 console.log只是一个将进程流通过管道传输到输出的函数。注意以

javascript - 如何像 console.log 一样在 winston 中记录 JavaScript 对象和数组?

我正在查看顶级Node日志记录系统:npmlog、log4js、bunyan和winston,并决定使用winston获得最多的每月npm下载量。我要设置的是自定义记录器,我将能够在开发环境中使用logger.debug(...)它不会在生产环境中记录任何内容。这将对我有所帮助,所以当我在开发环境中时,我不需要写任何东西,因为我会看到所有的输出。这就是我现在拥有的:varlevel='debug';if(process.env.NODE_ENV!=='development'){level='production';//thiswillneverbelogged!}varlogger=

javascript - 默认情况下, Node console.log 会 chop 输出。我怎样才能看到完整的输出?

这个问题在这里已经有了答案:HowcanIgetthefullobjectinNode.js'sconsole.log(),ratherthan'[Object]'?(19个回答)关闭8年前。Node的console.log似乎默认chop输出,例如,查看API的输出:{'@':{xmlns:'http://ec2.amazonaws.com/doc/2012-03-01/'},requestId:'123456',reservationSet:{item:{reservationId:'r-123456',ownerId:'123456',groupSet:[Object],inst