Tag: node.js

Forever + Nodemon一起运行

有没有办法让这两个包一起运行? 所以基本上我想两全其美。 自动运行服务器(并在出现错误时重新启动),并且在发生.js文件更改时自动更新。

在Windows 10上安装Node.js(和npm)

我有一些问题试图在Windows 10上安装Node,并find了解决scheme。 错误如下: C:\用户\斯蒂芬> NPM 错误:ENOENT,stat'C:\ Users \ Stephan \ AppData \ Roaming \ npm' 解决scheme如下。

Rediscaching和Mongo的持久性架构

设置: 想象一下,一个用户提交一个post,然后被许多(数百,数千或更多)用户阅读的“twitter like”服务。 我的问题是关于构buildcaching和数据库来优化快速访问和多次读取的最佳方法,但仍然保留历史数据,以便用户可以(如果他们想要的话)看到较旧的post。 这里的假设是,90%的用户只会对新东西感兴趣,并且偶尔会访问旧的东西。 另一个假设是我们想要优化90%,如果较老的10%需要一些时间才能恢复,那么就可以了。 考虑到这一点,我的研究似乎强调了90%使用caching的方向,然后将这些post存储在另一个更长期的持续系统中。 所以我的想法到目前为止是使用Redis的caching。 Redis的优点是速度非常快,而且它已经build在pub / sub中,这对于发布给许多人来说是完美的。 然后我正在考虑使用MongoDB作为一个更永久的数据存储来存储相同的post,这些post将在Redis过期时被访问。 问题: 这个build筑是否有水? 有一个更好的方法吗? 2.关于在Redis和MongoDB中存储post的机制,我正考虑让应用程序做2次写操作:第一次 – 写入Redis,然后立即可用于订阅者。 第二 – 在成功存储到Redis之后,立即写入MongoDB。 这是做这件事的最好方法吗? 我应该让Redis将过期的post推到MongoDB本身吗? 我想到了这一点,但我找不到直接从Redis推送到MongoDB的许多信息。

在Node.js中“连接EMFILE”错误

我最近收到很多stream量到我的网站运行Node.js。 随着交通量的增加,它已经开始崩溃了很多,这在以前没有发生过。 我的日志中出现以下错误: { [Error: connect EMFILE] code: 'EMFILE', errno: 'EMFILE', syscall: 'connect' } Error: connect EMFILE at errnoException (net.js:670:11) at connect (net.js:548:19) at net.js:607:9 at Array.0 (dns.js:88:18) at EventEmitter._tickCallback (node.js:192:40) 任何人有一个想法,为什么它崩溃? 而想法如何解决呢? 我正在使用Express.js和Socket.io。 它在Ubuntu上运行。

使用React Native和API后端进行身份validation

我试图用React Native应用程序和一个单独的NodeJS / Express API后端包围oauth。 我明白https://github.com/adamjmcgrath/react-native-simple-auth为React Native应用程序提供身份validation, http ://passportjs.org/为NodeJS后端提供身份validation。 我不确定如何连接这两个身份validationlogin和访问该API。 我希望用户通过电子邮件和密码或通过Facebook / Twitter / Googlelogin到React Native应用程序。 一旦login到应用程序,我应该向API发送什么信息以确保它们已通过身份validation并可以访问特定路线? 以下是一个login并查看login用户设置的示例stream程: 用户通过电子邮件/密码或Facebook / Twitter / Googlelogin到React Native应用程序。 用户通过身份validation 应用程序请求GET / API /设置 APIvalidation用户是否已通过身份validation并返回该用户的设置或APIvalidation用户未通过身份validation,并返回403。

Redis作为一个数据库

我想使用Redis作为数据库,而不是caching。 从我的(有限的)理解中,Redis是一个内存数据存储。 使用Redis的风险是什么?如何减轻这些风险?

在Node.js中的两个不同的进程之间进行通信

问题是: 让我们假设我们有两个运行的Node.js进程: example1.js和example2.js 。 在example1.js有函数func1(input) ,作为结果返回result1 。 有没有办法从example2.js中调用func1(input)并获取result1作为结果? 从我所了解的Node.js中,我只find了一个使用套接字进行通信的解决scheme。 然而这并不理想,因为这需要一个进程在端口上监听。 如果可能的话,我希望避免这一点。 编辑:经过一些问题,我想补充说,层次结构example1.js不能是example2.jssubprocess,而是相反。 另外如果有帮助的话 – 只能有一个example1.js处理自己的数据,许多example2.js处理自己的数据+来自第一个进程的数据。

使用带有Firebase的NodeJ – 安全性

由于需要做一些服务器端代码 – 主要是发送电子邮件,所以我决定使用Nodejs&Express作为服务器端元素以及Firebase来保存数据 – 部分来自学习体验。 我的问题是使用简单电子邮件和密码API进行身份validation时使用客户端Firebase库和Nodejs库的最佳方法。 如果我执行身份validation客户端,然后在NodeJS端调用不同的路由,那么将在请求中携带该用户的身份validation。 在Node中validation用户的方法是什么? 我假设的一种方法是从firebase获取当前用户的用户名和密码,然后将这些用户名和密码发布到NodeJS,然后使用服务器上的Firebase安全API进行testing。

不使用Jade的Node.js + Express

是否可以使用没有任何模板引擎的快递?

蓝鸟,承诺,然后()

我一直只使用蓝鸟几天,但我想要去所有我的旧代码,并promisify它:) 我的问题是我还没有完全掌握then()命令的stream程。 考虑这两个块: 一个 methodThatReturnsAPromise().then(task2).then(task3); 乙 var promise = methodThatReturnsAPromise(); promise.then(task2) promise.then(task3); 在场景中, task3会得到task2的结果吗? 在B他们都得到了第一个承诺的结果? 第二个与蓝鸟运行Promise.all有什么不同? 这些A / B / Promise.all方法在使用catch方法时有什么不同(我把它放在哪里)。 对不起,这是一大堆问题。