草庐IT

nodejs-restify-mongodb-mongoose

全部标签

javascript - Nodejs创建一个里面有文字的PNG图像

我正在尝试创建一个新的PNG文件以通过HTTP返回给客户端(作为响应类型图像/png)新文件是通过连接3个基本PNG文件并在图像中间添加自定义文本创建的。问题是,nodejs中没有内置库来执行此操作。我花了几个小时搜索,令我惊讶的是,没有纯JS库可以做到这一点。最接近的是node-pngjs但它缺乏添加文本的能力。我知道文本部分很复杂,因为它在某种程度上取决于操作系统(安装的字体、与所述字体交互的DLL等)。还有其他Node模块是imageMagick(gm)和GTK(canvas)的包装器,但不幸的是,imageMagick是155MB的二进制文件,要使用Canvas,您需要从源代码

javascript - Scrapy 之类的 Nodejs 工具?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2年前。Improvethisquestion我想知道是否有类似Scrapyfornodejs的东西?。如果不是,您如何看待使用简单的页面下载并使用cheerio对其进行解析?有没有更好的办法。

javascript - 将 NodeJS 模块范围变量作为对象访问

我可以访问Node全局变量作为GLOBAL对象的属性。我可以用类似的方式访问模块作用域变量吗?例如varfns_x=function(){/*...*/};varfns_y=function(){/*...*/};functionaFn(param){/*moduleScope=somethingthatallowsmetoaccessmodulescopevariables*/if(moduleScope['fns_'+param]){moduleScope['fns_'+param]();}}/*...*/module.exports=/*...*/或者最好将那些变量包装在对象中?

javascript - NodeJS 和 NPM : Package Security

考虑到NodeJS的流行程度以及NPM的工作原理……确保您永远不会安装不安全/恶意软件包的最佳方法是什么?对我来说,这似乎是架构中的一个巨大漏洞,完全依赖于用户评论、StackOverflow等网站上的评论、个人博客等。我做了一些搜索,我似乎只能找到一个“计划”在收到用户违反行为准则的投诉后删除违规用户。NPM行为准则https://www.npmjs.com/policies/conduct这是发布包的方式...https://docs.npmjs.com/getting-started/publishing-npm-packages所以我开始考虑某人可能会做什么样的坏事...也许创

javascript - 如何创建一个可模拟的类来连接到 mongoDB?

我已经尝试创建一个类来连接到mongoDB(并使用(gridfs-stream)获得gridFS连接)。但是我确实遇到了两个问题:我有时会收到mongo错误serverinstanceininvalidstateconnected我不可能模拟这个类-使用jestJS所以如果有人可以帮助我优化这个类以获得一个真正扎实的工作类,我将非常感激。例如,我不喜欢connect()函数中的letthat=this。Examplerepo数据库类constmongo=require('mongodb')constGrid=require('gridfs-stream')const{promisify

javascript - NodeJS 事件循环中的轮询阶段

我正在通过Nodedocs对于事件循环,我感到非常困惑。它说——timers:thisphaseexecutescallbacksscheduledbysetTimeout()andsetInterval().I/Ocallbacks:executesalmostallcallbackswiththeexceptionofclosecallbacks,theonesscheduledbytimers,andsetImmediate().idle,prepare:onlyusedinternally.poll:retrievenewI/Oevents;nodewillblockherew

javascript - NodeJS - Jest 单元测试 process.on 回调中的 setTimeout

我正在尝试在我的process.on('SIGTERM')回调中使用Jest对计时器进行单元测试,但它似乎从未被调用过。我正在使用jest.useFakeTimers()虽然它似乎在一定程度上模拟了setTimeout调用,但它并没有在setTimeout.mock中结束检查时对象。我的index.js文件:process.on('SIGTERM',()=>{console.log('GotSIGTERM');setTimeout(()=>{console.log('Timerwasrun');},300);});setTimeout(()=>{console.log('Timer2w

javascript - 最好的 NodeJS 库/包装器的在线支付服务

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion我正在寻找Chargify、Braintree或其他类似的在线支付解决方案。上下文是我正在使用NodeJS,现在只想测试如何在开发模式下使用在线支付。因此,对我而言,主要方面不是这些服务在实际应用程序中的工作方式,而是其中哪些具有为No

JavaScript 内存泄漏 (Node.js/Restify/MongoDB)

更新4:通过在函数外部实例化restify客户端(参见controllers/messages.js)并在每次请求后调用global.gc(),内存增长率似乎已降低很多(每10秒约500KB)。然而,内存使用量仍在不断增长。更新3:遇到这篇文章:https://journal.paul.querna.org/articles/2011/04/05/openssl-memory-use/可能值得注意的是,我将HTTPS与Restify结合使用。更新2:将下面的代码更新为当前状态。我试过用Express替换Restify。遗憾的是,这没有任何区别。似乎链末端的api调用(restify->

javascript - 使用 Bluebird promise bcrypt-nodejs

我正在使用NodeJS,bcrypt-nodejs(https://github.com/shaneGirish/bcrypt-nodejs)和Bluebird用于promises。想出了这段代码,并想知道是否有更好的方法来做同样的事情。我有模块:varPromise=require("bluebird"),bcrypt=Promise.promisifyAll(require('bcrypt-nodejs'));//....[someothecodehere]Users.prototype.setPassword=function(user){returnbcrypt.genSalt