Tag: node.js

在Express 4和express-generator的/ bin / www中使用socket.io

所以这里是交易:我试图在一个快速项目中使用socket.io。 在Express Js 4发布后,我更新了我的快速生成器,现在应用程序的初始function进入./bin/www文件,包括那些variables(www文件内容: http : //jsfiddle.net/avMa5/ ) var server = app.listen(app.get('port'), function() {..} (通过npm install -g express-generator ,然后express myApp 就这么说吧,让我们回忆一下socket.io文档是如何要求我们解雇的: var app = require('express').createServer(); var io = require('socket.io')(app); 好吧,但我不能在app.js里面做,就像推荐一样。 这应该在./bin/www中完成才能工作。 在./bin/www这是我能做些什么来得到它的工作: var io = require('socket.io')(server) 确定这个工程,但我不能在任何地方使用io var,我真的不想把我的socket.io函数在www文件。 我想这只是基本的语法,但我不能得到这个工作,甚至没有使用module.exports = server或server.exports = server或module.exports.io = app(io)上的WWW文件 所以问题是:我如何使用socket.io这个/ bin / www文件作为我的应用程序的起点?

Node.js请求对象文档?

这是一个非常简单的问题,但我没有在Google上find任何东西。 我正在寻找在Node.js的创build服务器function请求参数的文档,但我一直无法find任何东西。 http.createServer(function(request, response){ console.log(JSON.stringify(request)); }); 用JSON.stringify()debugging给我一个错误,对象是循环的,程序停止。 我见过不同的东西,如request.url或request.body ,但有没有一个页面logging所有的请求函数和参数? 似乎应该很容易find,我似乎无法find它。 我再次尝试,结果只是做console.log(request)写出console.log(request)所有数据。 这里只是作为参考: ondata: [Function], _httpMessage: { domain: null, _events: [Object], _maxListeners: 10, output: [], outputEncodings: [], writable: true, _last: false, chunkedEncoding: false, shouldKeepAlive: true, useChunkedEncodingByDefault: true, sendDate: true, _hasBody: true, _trailer: '', finished: false, _hangupClose: false, socket: [Circular], connection: [Circular] } }, connection: { _connecting: […]

什么是使用Node.js与PHP的优势?

可能重复: 为什么和何时使用节点js? 有人能告诉我为什么所有这些关于node.js大惊小怪吗? 是一个常规的网站(可以说一个博客)写在node.js比较相同的写在一些PHP框架? 我知道用node.js编写的web服务器比apache要快,但是如果一个真正的web应用程序不能创build线程或类似的东西呢?

在Docker中以非root用户身份运行应用程序

在昨天的Shocker消息之后 ,似乎Docker容器内的应用程序不应该以root身份运行。 我试图更新我的Dockerfile来创build一个应用程序的用户,但是改变应用程序文件的权限(虽然仍然是根)似乎并没有工作。 我猜这是因为一些LXC权限没有被授予root用户也许? 这是我的Dockerfile: # Node.js app Docker file FROM dockerfile/nodejs MAINTAINER Thom Nichols "thom@thomnichols.org" RUN useradd -ms /bin/bash node ADD . /data # This next line doesn't seem to have any effect: RUN chown -R node /data ENV HOME /home/node USER node RUN cd /data && npm install EXPOSE 8888 WORKDIR /data CMD […]

ES6立即调用箭头function

为什么在Node.js控制台(在4.1.1和5.3.0中testing)中工作,但在浏览器中不工作(在Chrome中testing)? 这个代码块应该创build并调用一个loggingOk的匿名函数。 () => { console.log('Ok'); }() 另外,虽然上述在Node中工作,但这不起作用: n => { console.log('Ok'); }() 也不是这样: (n) => { console.log('Ok'); }() 奇怪的是,当参数被添加时,它实际上会在立即调用的部分抛出一个SyntaxError 。

我可以在coffeescript中编写npm包吗?

我已经使用咖啡一段时间了。 现在我需要写一个npm包,我可以写在coffeescript,或者我应该编译成JavaScript的JavaScript?

BDD和TDD为node.js?

什么是用于BDD和TDD与node.js? 我习惯使用Cucumber + RSpec。 什么是node.js的一个很好的组合? 谢谢

运行节点bin脚本时确定命令行工作目录

我正在创build一个节点命令行界面。 它是全局安装的,并使用bin文件来执行。 我打算在我正在处理的文件的根目录下打开一个命令窗口,然后运行命令,但是我一直无法确定当前的工作目录,因为process.cwd()正在返回节点包的目录。 我最初认为,因为代码是使用batch file作为包装来执行的(这就是bin文件如何在没有节点的情况下执行的),那么这是不可能的,但是咖啡脚本可以做到这一点。 我看了一下咖啡脚本源,但不能遵循它(没有足够的经验)。 要自己testing一下,用这个package.json文件创build一个包: { "name": "test-package", "version": "1.0.0", "bin": { "test-package": "./bin/test-package" }, "main": "/lib/test" } 这个testing包文件在bin中: #!/usr/bin/env node var path = require('path'); var fs = require('fs'); var lib = path.join(path.dirname(fs.realpathSync(__filename)), '../lib'); require(lib + '/test'); 任何人都可以点亮这个。 然后尝试获取lib / test中的命令行目录。

Node.js + Express.js用户权限安全模型

我们有一个应用程序,有两种types的用户。 根据用户login的方式,我们希望他们可以访问应用程序的不同部分。 我们如何实现一个安全模型来防止用户看到他们无法访问的东西? 我们是否将安全作为每条路线实施的一部分? 问题是,我们将有一些重复的逻辑请求。 我们可以将其转换为辅助函数,但是我们仍然需要记住调用它。 我们是否将安全性作为全局app.all()路由处理程序的一部分? 问题是,我们必须检查每条路线,并根据多种规则做不同的逻辑。 至less所有的代码都在一个地方,但是…所有的代码都在一个地方。

Node.JS常量用于平台特定的新行?

Node.JS中是否有一个常量可用于特定于运行该应用程序的平台的换行符? 例如: Windows: \r\n * nix: \n