Tag: node.js

如何避免在Node.js中嵌套asynchronous函数

我想创build一个页面来显示数据库中的一些数据,所以我创build了一些从我的数据库中获取数据的函数。 我只是Node.js中的一个新手,所以据我所知,如果我想在单个页面中使用它们(HTTP响应),我必须将它们全部嵌套在一起: http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); var html = "<h1>Demo page</h1>"; getSomeDate(client, function(someData) { html += "<p>"+ someData +"</p>"; getSomeOtherDate(client, function(someOtherData) { html += "<p>"+ someOtherData +"</p>"; getMoreData(client, function(moreData) { html += "<p>"+ moreData +"</p>"; res.write(html); res.end(); }); }); }); 如果有这样的function,那么嵌套就成了一个问题 。 有没有办法避免这种情况? 我想这与你如何结合多个asynchronous函数有关,这似乎是一些基本的东西。

无法加载c ++ bson扩展

总节点noob在这里。 我一直在尝试设置一个示例节点应用程序,但每次尝试运行时都会popup以下错误消息: 节点应用程序 Failed to load c++ bson extension, using pure JS version events.js:72 throw er; // Unhandled 'error' event ^ Error: failed to connect to [#$%67890 :27017] at null.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:553:74) at EventEmitter.emit (events.js:106:17) at null.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:140:15) at EventEmitter.emit (events.js:98:17) at Socket.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:512:10) at Socket.EventEmitter.emit (events.js:95:17) at net.js:830:16 at process._tickCallback (node.js:415:13)

node.js fs.readdirrecursion目录search

有关使用fs.readdir进行asynchronous目录search的任何想法? 我意识到我们可以引入recursion,并调用读取目录函数与下一个目录阅读,但有点担心它不是asynchronous… 有任何想法吗? 我已经看过node-walk ,这很棒,但是不会像readdir那样给我一个数组中的文件。 虽然 寻找输出像… ['file1.txt', 'file2.txt', 'dir/file3.txt']

带pg-promise的多行插入

我想用一个INSERT查询插入多行,例如: INSERT INTO tmp(col_a,col_b) VALUES('a1','b1'),('a2','b2')… 有没有办法很容易做到这一点,最好是像这样的对象数组: [{col_a:'a1',col_b:'b1'},{col_a:'a2',col_b:'b2'}] 我可能会在一个块中产生500条logging,所以运行多个查询将是不可取的。 到目前为止,我已经能够只为一个单一的对象: INSERT INTO tmp(col_a,col_b) VALUES(${col_a},${col_b}) 作为一个侧面的问题:插入使用${}符号保护反对SQL注入?

在Android上运行NodeJS的可行选项(2017年8月)

有一堆旧的线程处理在Android上运行NodeJS。 其中大多数不再可行(JXCore)和/或提供令人困惑,过时,不完整或错误的信息。 因此,我调查了目前似乎是(截至2017年8月)可行的方法,并find了三个可能的候选人。 要决定他们之间我想知道: 这些方法之间的主要区别 在每种方法上具体的亲和和骗局 可能的障碍,挑战和缺点 你知道其他可行的select吗? 可行的方法是 : 运行包含NodeJS ( J2V8 )的V8 javascript引擎, 直接使用NodeJS,embedded为本机库( node-on-android ) 将React Native与NodeJS应用程序即服务( react-native-node ) 除此之外,我发现了一些相关的有趣资源: NPM直接使用Termux直接安装NodeJS而不生根(不适用于最终用户) LiquidCore – 原生移动微应用程序devenv(没有调查,有趣的概念) dna2oslab – 为节点可执行文件提供了一个工作的NodeJS构build脚本 为Android构buildNodeJS – 使用有用的编译技巧和示例项目的博客

Nodejs在Windows上找不到安装的模块?

我正在学习Windows上的nodejs。 几个模块全局安装在npm.cmd中,nodejs无法find已安装的模块。 以玉为例, npm install jade -g Jade安装在目录"C:\Program Files (x86)\nodejs\node_modules" ,但是下面的代码将会失败并显示"Cannot find module 'jade'"错误, var jade = require('jade'); 但是,在本地安装了jade的情况下,代码将会成功运行(在npm中没有-g选项)。 我不想使用本地安装的模块,这是浪费磁盘空间对我来说,有人可以帮助我使全球安装的模块在Windows上工作?

为什么npm install说我有未满足的依赖关系?

我有一个节点包。 当我从软件包根目录运行npm install ,它安装了一堆东西,但是打印出几个如下所示的错误信息: npm WARN unmet依赖关系/用户/ seanmackesey / google_drive / code / explore / generator / node_modules / findup-sync / node_modules / glob需要graceful-fs@'~1.2.0',但会加载 我必须对npm install究竟做什么感到困惑。 如果它检测到依赖项,不应该安装它吗? 在什么情况下会给我这样的错误信息,以及如何解决依赖关系?

如何使用Node.js下载文件(不使用第三方库)?

如何在不使用第三方库的情况下使用 Node.js下载文件? 我不需要任何特别的东西。 我只想从给定的URL下载文件,然后将其保存到给定的目录。

使用Node.js需要与ES6导入/导出

在我正在合作的一个项目中,我们有两个select我们可以使用的模块系统: 使用require导入模块,并使用module.exports和module.exports导出。 使用ES6 import导入模块,并使用ES6 export 使用其中一个有什么性能好处? 如果我们要在节点上使用ES6模块,还有什么我们应该知道的吗?

如何决定何时使用Node.js?

我是这种东西的新手,但最近我听到很多关于Node.js的好处。 考虑到我一般喜欢使用jQuery和JavaScript,我不禁想知道如何决定何时使用Node.js。 我想到的Web应用程序就像Bitly一样 – 需要一些内容,将其归档。 从过去几天所做的所有功课中,我获得了以下信息。 Node.js的 是一个命令行工具,可以作为一个普通的Web服务器运行,让一个运行JavaScript程序 利用伟大的V8 JavaScript引擎 当你需要在同一时间做几件事情是非常好的 是基于事件的,所以所有精彩的Ajax类的东西都可以在服务器端完成 让我们在浏览器和后端之间共享代码 让我们与MySQL交谈 我遇到的一些来源是: 潜入Node.js – 介绍和安装 了解NodeJS 通过示例节点 ( Archive.is ) 让我们做一个Web应用程序:NodePad 考虑到Node.js几乎可以在Amazon的EC2实例上直接运行,我想了解什么types的问题需要Node.js而不是像PHP , Python和Ruby那样的强大国王。 我明白,这实际上取决于对语言的专业知识,但是我的问题更多地归结为以下几个方面:什么时候使用特定的框架,哪种types的问题特别适合?