Tag: node.js

在Node.js中包含来自另一个文件的Javascript类定义

我正在为Node.js编写一个简单的服务器,并使用我自己的类User ,它看起来像: function User(socket) { this.socket = socket; this.nickname = null; /* … just the typical source code like functions, variables and bugs … */ this.write = function(object) { this.socket.write(JSON.stringify(object)); } }; 然后在这个过程中我实例化了很多: var server = net.createServer(function (socket) { /* other bugs */ var user = new User(socket); /* more bugs and bad practise */ […]

使用websocket / socket.io在哪里Ajax会做的缺点是什么?

之前也有类似的问题,他们都得出了AJAX不会过时的结论。 但是,Ajax比websockets更好的方式是什么? 使用socket.io,很容易回退到闪存或长时间轮询,所以浏览器的兼容性似乎不成问题。 Websockets是双向的。 在Ajax会发出asynchronous请求的地方,websocket客户端会发送一条消息给服务器。 POST / GET参数可以用JSON编码。 那么使用100%的websockets有什么问题呢? 如果每个访问者都与服务器保持一个持久的websocket连接,那么比在整个访问期间发出一些Ajax请求更浪费?

如何将二进制数据追加到node.js中的缓冲区中

最后更新 使用concat 。 编辑 我写了一个使用内部缓冲区将字节写入文件的BufferedWriter 。 与BufferedReader相同,但用于写入。 一个简单的例子: //The BufferedWriter truncates the file because append == false new BufferedWriter ("file") .on ("error", function (error){ console.log (error); }) //From the beginning of the file: .write ([0x00, 0x01, 0x02], 0, 3) //Writes 0x00, 0x01, 0x02 .write (new Buffer ([0x03, 0x04]), 1, 1) //Writes 0x04 .write (0x05) //Writes […]

在Node.js中从callback函数返回一个值

我在Node.js中从callback函数返回一个值时遇到了一些麻烦,我会尽可能简单地解释我的情况。 考虑我有一个代码片段,它需要URL和命中该url,并提供输出: urllib.request(urlToCall, { wd: 'nodejs' }, function (err, data, response) { var statusCode = response.statusCode; finalData = getResponseJson(statusCode, data.toString()); }); 我试图把它包装在一个函数中,并返回一个像这样的值: function doCall(urlToCall) { urllib.request(urlToCall, { wd: 'nodejs' }, function (err, data, response) { var statusCode = response.statusCode; finalData = getResponseJson(statusCode, data.toString()); return finalData; }); } 因为在我的Node.js代码中,我有很多if-else语句,其中urlToCall值将被决定,如下所示: if(//somecondition) { urlToCall = //Url1; } else […]

在运行节点应用程序时encryption无效的elf标头

我正在为学校开发一个nodejs项目。 我不能用npm安装bcrypt,所以我安装了bcrypt-nodejs,昨天项目工作正常。 但今天,当我做一个“节点应用程序”,我有这个错误: /…/node_modules/bcrypt/node_modules/bindings/bindings.js:79 throw e ^ Error: /…/node_modules/bcrypt/build/Release/bcrypt_lib.node: invalid ELF header at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at bindings (/…/node_modules/bcrypt/node_modules/bindings/bindings.js:74:15) at Object.<anonymous> (/…/node_modules/bcrypt/bcrypt.js:1:97) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) 我的package.json文件如下所示: { "name": "Supinfarm", "version": "0.0.0", "env": […]

如何防止node.js中的内存泄漏?

我们知道node.js为我们提供了强大的力量,但是强大的力量却承担着巨大的责任。 据我所知,V8引擎不做任何垃圾收集。 那么我们应该避免哪些最常见的错误,以确保没有内存从我的节点服务器泄漏。 编辑:对不起,我的无知,V8确实有一个强大的垃圾收集器。

在node + express + jade中将对象传递给客户端?

我有一个非常重量级的服务器查询导致新的页面呈现,我想传递一些查询的结果到客户端(作为一个JavaScript数组的对象)。 这基本上是这样我不必做一个单独的JSON查询以获得相同的内容(这是大多是静态的)。 这些数据最终会有用,但最初并不是这样,所以我没有把它直接放到文档中。 app.get('/expensiveCall', function(req, res) { // do expensive call var data = veryExpensiveFunction(); res.render('expensiveCall.jade', { locals: { data: data, } }); }); }); 数据是一个对象数组,只有一些最初被使用。 我想通过整个数据或一些子集(取决于情况)。 我的玉看起来像普通的玉,但我想包括像 <script type="text/javascript"> var data = #{data}; </script> 但是这不起作用(这是一个对象数组)。

如何从命令行在Node.js上运行Jasminetesting

如何从命令行上运行Node.js的Jasminetesting? 我通过npm安装了jasmine-node并编写了一些testing。 我想在spec目录下运行testing,并在terminal中得到结果,这可能吗?

使用npm命令时SSL错误:CERT_UNTRUSTED

我试图安装使用npm命令的快速框架,但得到以下错误。 错误信息是 E:\myFindings\nodejs_programs\node>npm install -g express npm http GET https://registry.npmjs.org/express npm ERR! Error: SSL Error: CERT_UNTRUSTED npm ERR! at ClientRequest.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\main.js:409:26) npm ERR! at ClientRequest.g (events.js:185:14) npm ERR! at ClientRequest.EventEmitter.emit (events.js:88:17) npm ERR! at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1445:7) npm ERR! at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:111:23) npm ERR! at CleartextStream.socketOnData [as ondata] (http.js:1356:20) npm ERR! […]

Node.js – EJS – 包括一个部分

我正在尝试为节点使用embedded式JavaScript渲染器: https : //github.com/visionmedia/ejs 我想知道如何在.ejs视图文件中包含另一个视图文件(部分)。