Tag: 节点

错误:SELF_SIGNED_CERT_IN_CHAIN使用本地主机

在localhost上使用nodemailer时出现错误,导致内部服务器错误(500):错误:SELF_SIGNED_CERT_IN_CHAIN 我在这个问题上发现了这个线程: Azure上的Npm SELF_SIGNED_CERT_IN_CHAIN ,build议这样做: npm config set ca "" 但没有帮助。 也升级npm没有帮助: npm update -g

在Nodester上使用bogart

TLDR:节点应用程序在本地工作,在Nodester.com上不起作用,似乎是一个NPM问题。 详细版本: 我用bogart和couchdb(基本上跟在http://howtonode.org/bogart-couchdb )上编写了一个节点应用程序,它在本地运行良好 。 我用本地安装节点扩展 npm install bogart npm install couchdb 在Nodester上,我通过CLI安装了它们 nodester npm install bogart couchdb 并且它返回了成功 。 现在我把我的工作代码推到Nodester.com的仓库,遇到了麻烦, 脚本崩溃 ,日志说 Error: Cannot find module 'zlib' at Function._resolveFilename (module.js:322:11) at Function._load (module.js:267:25) at require (module.js:351:19) at Object.<anonymous> (/node_modules/bogart/lib/middleware.js:67:16) at Function.<anonymous> (/node_modules/bogart/lib/middleware.js:781:15) at /node_modules/bogart/lib/bogart.js:162:35 at Array.forEach (native) at App.start (/node_modules/bogart/lib/bogart.js:155:21) at Object.<anonymous> (/app/server.js:80:5) at […]

使用node-serialport的NodeJS有时会变得无法响应

我正在使用NodeJS将条形码扫描器连接到Web前端。 条形码扫描器的串行端口通过USB转串口转换器连接到PC(Windows7 pro x64)。 我正在使用node-serialport 。 这个设置在博物馆的一个安装中运行。 计算机每天都会重新启动,有时条形码扫描仪一整天都可以正常工作,但大约有25%的时间停止工作。 停止工作,我的意思是NodeJS不再中继传入的串行stream。 条码扫描器本身似乎是做的很好,它仍然愉快地stream淌,重新启动后,它将正常工作..直到NodeJS停止再次工作。 当扫描器停止工作时,NodeJS窗口不显示任何错误代码,但是到那时它完全没有响应。 那么closuresNodeJS实例似乎是不可能的。 我试过Ctrl-C,通过任务pipe理器结束进程并使用taskkill从CMD窗口中终止NodeJS的PID。 它们都具有零效应。 当使用Taskkill时,CMD窗口会高兴地说这个进程已经被终止了,但是NodeJS窗口不会closures,并且在任务pipe理器中仍然存在。 只有有力的重启才能“解决”这个问题。 我觉得我有很less的信息要继续下去。 我想知道下一步要做什么。

Fb – Flo错误EBUSY hyberfil.sys

我只是用Nodejs安装Fb Flo,将文档示例复制到一个文件中,像这样运行:node flo.js,我得到这个错误: events.js:72扔呃; //未处理“错误”事件 错误:EBUSY,lstat'C:hiberfil:sys' 我在post上看到,当节点试图写一个pipe理系统时发生错误,但是不知道为什么我得到了这个。 我以pipe理员身份运行terminal。 泰为你的帮助

如何保存date保存在MongoDB中的客户端date?

我正在使用Node.js和Angular.js为一个Web项目。 我知道date是保存为date,如果它是在服务器上使用新的date()(例如2015-04-08 04:15:18.712Z在Robomongo中显示为datetypes)创build的。 但是,如果在客户端使用新的Date()创builddate,则会将其保存为一个string(例如2015-04-07T04:58:12.771Z在Robomongo中显示为Stringtypes),因为它通过节点API 。 如何使它保存为date而不是string? 更新:这是我得到的基于Jason Cust的input。 在节点的server.js中指定reviver选项,如下所示: app.use(bodyParser.json({ reviver: function(key, value) { if ( typeof value === 'string' && value.length === 24) { if (value.match(/^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d.\d\d\dZ$/)){ return new Date(value); } } return value; }})); 当数据从客户端发送到服务器时,这将自动将所有datestring转换为date对象。 如果你想为Angular.js客户端做同样的事情,我发现一个由Andrew Davey编写的好博客用AngularJS自动JSONdate分析

为什么nodemailer不能在AWS服务器-NodeJS上工作

我使用nodemailer 0.7.1,我可以在我的本地主机上发送电子邮件。 但是当我使用它与AWS服务器,没有得到任何这样的邮件。 请帮帮我。 var smtpTransport = mailer.createTransport("SMTP",{ service: "Gmail", auth: { user: "from@gmail.com", pass: "**************" } }); var mail = { from : "from@gmail.com", to : "to@gmail.com", subject : "dummy subject", html : "dummy message" } smtpTransport.sendMail(mail, function(error, response){ if(error){ console.log(error+"console error"); smtpTransport.close(); } else{ logger.info("Mail sent: " + response.message); smtpTransport.close(); }

expression和Hihttp2不为我工作

我正在testingHTTP 2与快递,它不适合我。 我已经下载了一个简单的示例,当在铬开发工具 – >networking – >协议中看到我看到http / 1.1不是2 节点v0.10.33表示4.13.3 代码示例: var express = require('express') var fs = require('fs') var app = express() app.get('/', function (req, res) { res.send('hello, http2!') }) var options = { key: fs.readFileSync("blablabla.key"), cert: fs.readFileSync("blablabla.crt") }; require('http2').createServer(options, app).listen(443);

JavaScript对象被推入到数组中作为参考

编辑::我忘了添加,这是为NODE的JS服务器端,一些答案有JQuery克隆(jQuery克隆工作在服务器端,我试过是引发错误,因为ReferenceError:jQuery没有定义 )。 所以,我请求每一个,请添加可以在Node JS上工作的解决scheme 首先检查这些程序和他们的输出: var a = {}; a.name = "Jessie"; a.age = 22; var tarray = []; tarray.push(a); console.dir('——————before————————————-'); console.dir(tarray); a.name = "Monica"; a.age = 18; console.dir('——————After————————————-'); console.dir(tarray); 输出: '——————before————————————-' [ { name: 'Jessie', age: 22 } ] '——————After————————————-' [ { name: 'Monica', age: 18 } ] 同样的scheme以不同的方式, var a = [{"name" : […]

如何调用作为Docker容器在Linux机器上部署的Rest-Endpoint

抱歉,如果重复:我有一个docker集装箱是一个Node.js服务。 我想从同一台linux机器上testing那个服务的端点。我正在使用curl命令testing端点。我得到了curl: (56) Recv failure: Connection reset by peer 这是我的Dockerfile FROM ubuntu ARG ENVIRONMENT ARG PORT RUN apt-get update -qq RUN apt-get install -y build-essential nodejs npm nodejs-legacy vim RUN mkdir /database_service ADD . /database_service WORKDIR /database_service RUN npm install -g express RUN npm install -g path RUN npm cache clean EXPOSE $PORT ENTRYPOINT [ […]

crypto createHMAC输出根据nodejs版本的不同而不同

在升级我的节点版本时,我遇到了encryption模块问题。 创build的HMAC取决于节点的版本。 您会在下面find重现问题的代码。 如果我将密钥编码为BASE64(或任何),则HMAC不依赖于node.js版本。 如果我把它编码为二进制,如果我改变我的node.js版本,HMAC是不同的。 [编辑]根据为什么crypto.createHash在新版本中返回不同的输出? 调用update函数时添加了编码 代码片段 "use strict"; const crypto = require('crypto'); console.log(process.version); let key = '5ece799aa73a7a8e687876f8e0eabe2e200b967ef5728d845f72fc9ea27dbcd90cd4e06e8bc90d823ac8a54ce91f68ca37fc2e7bbf3f5ef9d82b4c6b938f1936'; let _key64 = (new Buffer(key, 'hex')).toString('base64'); console.log("B64 KEY: "+crypto.createHmac('sha512', _key64).update("hey", "binary").digest('hex').toUpperCase()); let _keyBin = (new Buffer(key, 'hex')).toString('binary'); console.log("BIN KEY: "+crypto.createHmac('sha512', _keyBin).update("hey", "binary").digest('hex').toUpperCase()); 输出是以下两个版本的node.js v5.6.0 B64 KEY: 0DC11C737E575B17DD575042F8F372E3D63A86C3B56C06FB74C9B0AB8E96A5FC8A2DC33667280DC5B306C93AA3DECBAF0D8EDE56F3666C11BFC25A70CFC027D0 BIN KEY: E5A9F813D9AA64A6791BEA91035553FFC730DBE635D0CE7AC722C0195DFDD77A969323FDDFB4E5054E59073DAE9B9BF00CFF73CF20F2FACEE01F79F25E7B9303 v8.1.4 B64 KEY: 0DC11C737E575B17DD575042F8F372E3D63A86C3B56C06FB74C9B0AB8E96A5FC8A2DC33667280DC5B306C93AA3DECBAF0D8EDE56F3666C11BFC25A70CFC027D0 BIN KEY: […]