Tag: node.js

如何编写Node.js的asynchronous函数

我试图研究如何编写asynchronous函数。 经过大量的文件翻耕之后,对我来说还是不清楚的。 如何编写Node的asynchronous函数? 我应该如何正确实现错误事件处理? 另一个问我问题的方法是:我该如何解释下面的函数? var async_function = function(val, callback){ process.nextTick(function(){ callback(val); }); }; 另外,我在SO上发现了这个问题 (“如何在node.js中创build一个非阻塞asynchronous函数?”)。 我不觉得它已经被回答了。

了解node.js中的承诺

从我所了解的有三种方法调用asynchronous代码: 事件:例如。 request.on("event", callback); callback:例如。 fs.open(path, flags, mode, callback); 承诺 我发现一个承诺库https://github.com/kriszyp/node-promise,但我不明白。 有人可以解释什么是承诺,为什么我应该使用它? 另外,为什么从Node.js中删除?

socket.io和会话?

我正在使用快速框架。 我想从socket.io到达会话数据。 我尝试使用client.listener.server.dynamicViewHelpers数据快速dynamicHelpers,但我无法获取会话数据。 有一个简单的方法来做到这一点? 请参阅代码 app.listen(3000); var io = require('socket.io'); var io = io.listen(app); io.on('connection', function(client){ // I want to use session data here client.on('message', function(message){ // or here }); client.on('disconnect', function(){ // or here }); });

静态文件与express.js

我想为index.html和/media子目录提供静态文件。 索引文件应该在/index.html和/ URL中提供。 我有 web_server.use("/media", express.static(__dirname + '/media')); web_server.use("/", express.static(__dirname)); 但第二行显然服务于整个__dirname ,包括其中的所有文件(不只是index.html和media ),我不想。 我也试过了 web_server.use("/", express.static(__dirname + '/index.html')); 但是访问基本URL /然后导致请求到web_server/index.html/index.html (double index.html组件),这当然会失败。 有任何想法吗? 顺便说一下,我可以find关于这个主题( static() +它的参数)Express中绝对没有文档…令人沮丧。 文档链接也是受欢迎的。

package.json中的本地依赖

我想做这样的事情,所以npm install也安装../somelocallib的package.json或更重要的是它的依赖。 "dependencies": { "express": "*", "../somelocallib": "*" }

如何更改bower的默认组件文件夹?

我正在制作一个使用twitter的bower的新项目。 我创build了一个component.json来维护像jquery这样的所有依赖项。 然后运行bower install ,将所有内容安装在名为components的文件夹中。 但我需要安装在不同的文件夹,例如public/components 。 我已经尝试编辑我的components.json到: { "name": "test", "version": "1.0.0", "directory": "public/", "dependencies": { "jquery": "*" } } 要么: { "name": "test", "version": "1.0.0", "componentsDirectory": "public/", "dependencies": { "jquery": "*" } } 如https://github.com/twitter/bower/pull/94所示,但不起作用。

如何在没有自己的registry的情况下安装私有的NPM模块?

我已经采取了一些共享的代码,并把它放在一个NPM模块,我不想上传到中央registry。 问题是,我如何从其他项目安装它? 显而易见的方法是build立我自己的NPMregistry,但根据文档,这涉及到很多麻烦。 我可以只安装一个位于本地文件系统的NPM模块,或者甚至可以使用git? npm install –from-git git@server:project

哪个websocket库与Node.js一起使用?

目前,node.js有很多websocket库 ,最受欢迎似乎是: https://github.com/Worlize/WebSocket-Node https://github.com/einaros/ws https://github.com/LearnBoost/engine.io https://github.com/learnboost/socket.io https://github.com/sockjs 然而,我找不到任何坚实的具体比较…显然Socket.io是真棒,但已经变得相当过时,并有失败的构build。 ws和websocket-node声称他们是最快的。 而engine.io似乎是新的,但比轻量级的重量级要重得多。 如果我们或者某个人能够把一个答案作为一个指导哪个套接字库使用以及什么时候使用,以及它们之间的比较,那将是了不起的。

如何更新Windows上的Node.js和npm?

我试过这个 : sudo npm cache clean -f sudo npm install -gn sudo n stable …但它没有工作。 我如何在Windows上执行此操作?

我知道callback函数asynchronous运行,但为什么?

哪一部分语法提供了这个函数应该在其他线程中运行并且是非阻塞的信息? 让我们考虑node.js中的简单asynchronousI / O var fs = require('fs'); var path = process.argv[2]; fs.readFile(path, 'utf8', function(err,data) { var lines = data.split('\n'); console.log(lines.length-1); }); 究竟是什么使得它发生在后台? 任何人都可以解释它精确或粘贴到一些好的资源的链接? 我看到的地方有很多关于callback是什么的信息,但没有人解释为什么它实际上是这样的。 这不是关于node.js的具体问题,而是关于每种编程语言中callback的一般概念。 编辑: 可能我提供的例子在这里不是最好的。 所以我们不要考虑这个node.js代码片段。 我一般问 – 什么使程序在遇到callback函数时继续执行的技巧。 callback概念是一个非阻塞的语法是什么? 提前致谢!