Tag: node.js

带参数的res.redirect('back')

我在我的网站的每一页上都有registry格。 注册过程中可能会出现一些错误 捕获错误后,我必须将用户返回到上一页,显示一些错误消息。 问题是我不知道用户从哪个页面执行注册,所以我使用res.redirect('back'); 。 但是,我不能只redirect用户,我也必须显示错误消息,所以我必须通过一些参数。 但res.redirect('back', (reg_error:'username')})不能直接使用,因为res.redirect()不支持参数。 我怎样才能使用一些参数呈现上一页?

asynchronousnodejs模块导出

我想知道什么是configuration模块导出的最佳方法。 在下面的例子中,“async.function”可能是一个FS或HTTP请求,为了举例而简化: 以下是示例代码(asynmodule.js): var foo = "bar" async.function(function(response) { foo = "foobar"; // module.exports = foo; // having the export here breaks the app: foo is always undefined. }); // having the export here results in working code, but without the variable being set. module.exports = foo; 只有在执行了asynchronouscallback后,如何才能导出模块? 编辑一个关于我的实际用例的快速logging:我正在编写一个模块来在fs.exists()callback中configurationnconf( https://github.com/flatiron/nconf )(即它将parsing一个configuration文件,设置nconf)。

错误:大多数中间件(如json)不再与Express捆绑在一起,必须单独安装。 请参见

我把我的源窗口移动到Ubuntu的: 错误:大多数中间件(如json)不再与Express捆绑在一起,必须单独安装。 请参阅https://github.com/senchalabs/connect#middleware 。 这是我的来源谢谢 var http = require('http'); var fs = require('fs'); var express = require('express'); var mysql = require('mysql'); var ejs = require('ejs'); var app = express(); app.use(express.bodyParser()); app.use(app.router);

Narwhal和Node.js之间的区别?

我是Node.js的新手,我一直在阅读有关基于Rhino的Narwhal框架。 我的问题: 如果我使用Node.js,我可以使用Narwhal,它是库/模块? 不是Narwhal IO中的库/模块被阻塞(为什么Node.js得到了这个巨大的普及)? Node.js仅用于创buildWeb服务器还是用于创build一般应用程序,就像Narwhal一样?

最快的方法来检查在NodeJs中的文件的存在

我build立一个超级简单的服务器在节点和我的onRequest监听器我试图确定,如果我应该提供一个静态文件(closures磁盘)或一些JSON(可能从mongo拉)基于request.url的path。 目前我试图首先统计文件(因为我在其他地方使用mtime),如果没有失败,那么我从磁盘读取内容。 像这样的东西: fs.stat(request.url.pathname, function(err, stat) { if (!err) { fs.readFile(request.url.pathname, function( err, contents) { //serve file }); }else { //either pull data from mongo or serve 404 error } }); 除了为request.url.pathnamecachingfs.stat的结果fs.stat ,有没有什么可以加速这个检查? 例如,如果fs.readFile错误而不是stat ,它会一样快吗? 或者使用fs.createReadStream而不是fs.readFile ? 或者我可以检查使用child_process.spawn东西的文件? 基本上我只是想确保我不会花费任何额外的时间搞乱w / fileio当请求应发送给mongo的数据… 谢谢!

在Node.js net中使用pipe()

我有困难包装我的头绕着networking模块的几个Node.js示例中显示的pipefunction。 var net = require('net'); var server = net.createServer(function (socket) { socket.write('Echo server\r\n'); socket.pipe(socket); }); 任何人都可以提供解释如何工作,为什么它是必需的?

fs.readFileSync似乎比fs.readFile更快 – 是否可以用于生产中的Web应用程序?

我知道在node中开发的时候,应该尽量避免使用asynchronous函数,但是我稍微testing一下,看看它们是如何比较的。 我需要打开一个包含i18n数据(如date和时间格式等)的json文件,并将这些数据传递给使用这些数据格式化数据的类。 开始将所有类的方法包装在callback函数中会有些尴尬,所以如果可能的话,我会使用同步版本。 console.time('one'); console.time('two'); fs.readFile( this.dir + "/" + locale + ".json", function (err, data) { if (err) cb( err ); console.timeEnd('one'); }); var data = fs.readFileSync( this.dir + "/" + locale + ".json" ); console.timeEnd('two'); 这会导致我的控制台中有以下几行: two: 1ms one: 159ms 似乎fs.readFileSync大约比fs.readFile快150倍,大约需要1ms来加载一个50KB的json文件(缩小)。 我所有的json文件都在50-100KB左右。 我也想也许以某种方式记忆或保存这个JSON数据会话,以便该文件是只读一次会话(或当用户更改其语言环境)。 我不完全确定如何做,这只是一个想法。 在我的情况下可以使用fs.readFileSync还是会在以后遇到麻烦?

如何在express.js中获取发起请求的域名?

我正在使用express.js,我需要知道发起呼叫的域名。 这是简单的代码 app.get( '/verify_license_key.json', function( req, res ) { // do something 如何从req或res对象获取域名? 我的意思是我需要知道,如果API是由somesite.com或someothersite.com。 我试图做一个控制台req和res的console.dir,但我不知道从那里,也阅读文档,但它没有给我任何帮助。

如何在Node.js中使用CasperJS?

我想在node.js中使用CasperJS。 我已经提到以下URL在node.js中使用CasperJS: https://github.com/sgentle/phantomjs-node http://casperjs.org/index.html#faq-executable 在上述URL的帮助下,我编写了下面的代码: //DISPLAY=:0 node test2.js var phantom = require('phantom'); console.log('Hello, world!'); phantom.create(function (ph) { ph.casperPath = '/opt/libs/casperjs' ph.injectJs('/opt/libs/casperjs/bin/bootstrap.js'); var casper = require('casper').create(); casper.start('http://google.fr/'); casper.thenEvaluate(function (term) { document.querySelector('input[name="q"]').setAttribute('value', term); document.querySelector('form[name="f"]').submit(); }, { term: 'CasperJS' }); casper.then(function () { // Click on 1st result link this.click('h3.r a'); }); casper.then(function () { console.log('clicked ok, new […]

Nodejs + npm,在ntfs分区上安装模块

安装npm模块时遇到问题。 NodeJS安装在Windows主机上的Virtual Box上运行的Ubuntu 11.10上。 我的项目文件在NTFS分区(我必须与他们共享Windows)。 当我尝试安装一些npm模块时,我得到一个错误,并没有安装模块。 当npm试图创build符号链接时,我发现了这个问题。 可能你不能在NTFS分区上创build符号链接,当我在Linux内部安装模块文件系统时,一切正常。 我怎样才能解决这个问题? 我不想手动解决依赖关系:/