对于Node.js应用程序,何时使用端口3000 vs 8080?

我一直在阅读一些教程,尽pipe其中大部分使用端口3000作为节点应用程序…其中一些使用端口8080来代替。 我想知道什么是推荐的做法,在什么情况下我们应该使用另一种。 任何指导?

Node.js API的语言转换为ClojureScript

我正在编写一个Electron应用程序,在这个应用程序中,我需要与一些Node.js API进行交互 – 读取文件,获取目录条目,监听事件。 当然,我可以用编写ClojureScript的方式编写JavaScript,但是我想知道ClojureScripts对callback式API,stream,EventEmitter的作用,以及如何编写node.js API的包装器,在ClojureScript中看起来很陌生。 再具体一点: 如何编写一个包装callback式node.js API的API。 (比如fs.readdir ) 我如何与类似EventEmitter的API交互? (可能接近第2页)我如何使用node.jsstreamAPI?

如何在Javascript / Node中从Blob中编写.wav文件

我试图用fs.writeFile写一个.wav文件。 该文件已成功创build,但它只有8-13字节长,显然我没有做正确的事情。 如果blob已经是audio / wav,我可以写入磁盘,还是需要将其转换为Base 64? 我在这里非常困惑,我发现另一个类似的线程没有答案 – 在这里 任何input将不胜感激。 routerApp.controller('audiotest', function($scope) { $scope.saveToDisk = function(){ var nw = require('nw.gui'); var fs = require('fs'); var path = require('path'); fs.writeFileSync('test.wav', $scope.recordedInput) }; } console.log($scope.recordedInput)返回Blob {size: 294956, type: "audio/wav"} 这不是真的相关,但这是我的HTML <div class="row" ng-controller="audiotest"> <div class="row"> <button type="button" ng-click="saveToDisk()"> Write this sucker to disk </button> </div> <ng-audio-recorder id='audioInput' […]

什么是Passport中的闪存信息?

我正在阅读护照文件,我想知道什么是闪光消息。 Googeling它没有给我任何相关的答案。

处理JWT到期和JWT有效负载更新

我有一个基于Koa的Node.js后端,用于我的个人/业余爱好应用程序。 我用JWT令牌实现了会话处理。 客户端(AngularJS)在成功login后获取令牌并将令牌存储在某个地方(目前在sessionStorage但对于这个问题目的不重要)。 我有两个问题: 当我需要更新JWT代表的用户logging时,比方说,用户打开了2FA,所以我要求他提供他的电话号码,我想在用户的logging中设置这个电话号码。 目前,在电话号码成功validation后,我打电话给我的后端更新用户logging,我创build一个新的JWT令牌与更新的用户logging(我排除敏感信息从JWT令牌像散列密码,但我想包括客户端使用的电话号码)。 当某些凭证更改并使用此新令牌更新现有客户端令牌时,是否可以创build新令牌? 我是否永远不会创build另一个令牌,只有在成功validation后才创build一个令牌? 我如何更新令牌中的有效载荷? 我应该如何处理过期的JWT令牌? 在我看来,我有3(可能)的情况: 2.1。 智威汤逊(JWT)设置为短暂的生活,比如15分钟。 如果后端服务器回复401 Unauthenticated“Invalid token”(我猜这是koa-jwt的默认行为),那么我会自动注销我的客户端,并要求重新validation。 但是我也build立了一个互补的中间件,这个中间件是后端链中的最后一个,用刷新的到期来重新创build令牌,并且客户端也用已刷新的令牌代替现有的令牌。 因此,如果用户处于活动状态,并且每个受保护的API调用都使用该应用程序,则在成功的情况下,将创build一个新的令牌来replace旧的令牌。 2.2。 JWT的设置时间很长,比如说1周,如果到期,我会从客户那里select重新authentication。 2.3。 复制https://tools.ietf.org/html/rfc6749#section-1.5 。 在成功validation后创buildJWT令牌时,我们发送一个access_token以及一个refresh_token。 当access_token过期并且服务器响应HTTP 401'无效标记'( koa-jwt默认值)时,客户端将refresh_token发送给支持者以要求新的access_token(以及可选的新的refresh_token)。 在这种情况下,我不完全了解refresh_token如何validation旧的access_token以提供新的令牌? 或者为什么我们需要有一个refresh_token? 关于上层主题(JWT更新和JWT到期)的任何通用build议将会有所帮助。

使用node.js修改现有的Excel文件

有什么办法来修改node.js现有的Excel文件? 我已经研究过exceljs,但是它没有提供任何只修改现有数据的function。 它似乎将写入一个新的stream。 还是我错过了exceljs的东西? 提前致谢。

nodejs应用程序的node-postgres和pg-promise

我将用Postgresql构build一个Nodejs应用程序作为后端。 我不打算使用像Sequelize这样的ORM, 因为文档和性能问题很糟糕,或者其他ORM – ORM是反模式 。 我发现node-postgres和pg-promise是这方面的候选人。 那么,任何人都可以澄清一个工具比另一个更好的scheme,或者哪一个工具是描述的方式,前提是node-postgres自2010年以来一直在发展,自2015年起pg-promise。

听听terminal会话“closures”事件

在terminal中,我启动后台进程A,进而启动进程B.进程B写入terminal(进程A已经传递了B正确的TTY文件描述符)。 我害怕的是,如果用户(在某些情况下,我)closuresterminal窗口,而不发送进程A或B SIGINT。 可能发生的是,即使用户closures了进程B仍然会尝试写入terminal。 更糟糕的是,用户可能会打开一个新的terminal窗口,它可能会假定与另一个terminal具有相同的身份/文件描述符,然后通过进程B写入。 基本上,我正在寻找一种方法来“terminal会话”的事件,如terminal会话被closures。 是否有可能在Node.js过程中监听这样的事件? 也许有一个相应的处理程序类似于process.on('SIGINT') ? 我猜测SIGTERM事件可能是听到的事件,但现在在试验代码之后,不要以为是事实。

find没有邀请任何用户的用户

我想查找那些没有通过单个查询邀请任何用户的用户(使用聚合)。 例如:我有4个用户在数据库 { "_id" : ObjectId("581a18d41b6c5c752f11c87a"), "name": "aaa", "invitedBy": ObjectId("5808f53d28c14ee470856d8b") }, { "_id" : ObjectId("581a1a671b6c5c752f11c87b"), "name": "bbb", "invitedBy": ObjectId("581a18d41b6c5c752f11c87a") }, { "_id" : ObjectId("581a1a671b6c5c752f11c87c"), "name": "ccc", "invitedBy": ObjectId("581a18d41b6c5c752f11c87a"), }, { "_id" : ObjectId("581a1a671b6c5c752f11c87d"), "name": "ddd", "invitedBy": ObjectId("581a1a671b6c5c752f11c87b"), } 这里 1- aaa邀请bbb和ccc用户 2- BBB邀请DDD用户 3-但ccc和ddd用户没有邀请任何一个 所以我想图片ccc和ddd用户 如果可以使用聚合,会更好,因为我需要对所选数据执行一些操作。

mongoose – 将全局方法添加到所有模型

简单的问题: 我如何在Mongoose中将模型添加到我的模型中,该模型适用于每个模型而不仅仅是一个模型?