Tag: 表示

在Express.js中的res.send()之后退出

我有一个相当简单的Express.js应用程序,如果login失败,我想早点退出。 我看到有迹象表明,该应用程序没有这样做,我还没有find明确的答案,指出是否调用res.send()停止任何进一步的处理。 这是我现在的代码: client.login( username, password, function( auth, client ) { if( !auth ) { res.send( 401 ); } // DO OTHER STUFF IF AUTH IS SUCCESSFUL } 如果我正确地读了源代码,它应该结束请求(中止进一步处理),但是我对节点是新的,所以我还没有准备好相信我正在读的东西。 为了解决这个问题,我想我主要是从一个更可靠的来源寻找一个明确的答案,那就是我自己对不熟悉的源代码的解释。 如果send()不中止处理,那么正确的方法是什么?

我如何在我的快速路线允许斜杠?

我试图以/2013/02/16/title-with-hyphens的forms实现永久链接。 我想使用路由参数。 如果我尝试下面的路线: app.get('/:href', function(req, res) { }); …然后我得到一个404,大概是因为快递只是在寻找一个参数,并认为有4个。 我可以用/:y/:m/:d/:t这个问题,但是这会迫使我的永久链接保持永久的forms。 我如何获得路线参数,包括斜线?

MissingSchemaError:架构尚未注册模型

我有一个Node.js – Express 3 – MongoDB的典型项目 我试图在我的/routes/index.js中对我的模型“Tweet”进行查询,当我运行我的应用程序时崩溃 24 Aug 11:35:07 – [nodemon] starting `node app.js` /Applications/XAMPP/xamppfiles/htdocs/ocesa/fanocesa/node_modules/mongoose/lib/index.js:286 throw new mongoose.Error.MissingSchemaError(name); ^ MissingSchemaError: Schema hasn't been registered for model "Teewt". Use mongoose.model(name, schema) at Mongoose.model (/Applications/XAMPP/xamppfiles/htdocs/ocesa/fanocesa/node_modules/mongoose/lib/index.js:286:13) at Object.<anonymous> (/Applications/XAMPP/xamppfiles/htdocs/ocesa/fanocesa/routes/index.js:6:33) 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) […]

Socket.io错误挂钩到express.js

我试图把socket.io和express.js挂在一起: var socket = require('./socket_chat/socket.js'); var express = require('express'), app = module.exports.app = express(); var io = require('socket.io').listen(app); app.use(express.static(__dirname + '/app')); io.sockets.on('connection', socket); 在这行: var io = require('socket.io').listen(app); 我收到一个错误: Error: You are trying to attach socket.io to an expressrequest handler function. Please pass a http.Server instance. 这个错误似乎没有任何关于SO / google的内容

摩卡beforeEach vs之前执行

最近我碰到一个我无法解释的问题。 在这些testing中我有很多代码,所以我会尽我所能来捕捉这个主意 我有这样的testing: describe('main page', function(){ beforeEach(function(done){ addUserToMongoDb(done); // #1 }); afterEach(function(done){ removeUserFromMongoDb(done); }); context('login', function(){ it('should log the user in, function(){ logUserIn(user_email); // #2 – This line requires the user from the beforeEach }); }); context('preferences', function(){ before(function(done){ //#3 logUserInBeforeTest(user_email); }); it('should show the preferences', function(){ doCheckPreferences(); // #4 }); }); }); 问题是, #1运行良好。 […]

如何检查模块是否存在,如果存在加载?

我需要检查某个path下是否存在文件/(自定义)模块js。 我试过 var m = require('/home/test_node_project/per'); 但是当path中没有per.js时会抛出错误。 我想与fs检查,如果文件存在,但我不想添加'.js'作为后缀,如果有可能检查没有。 如何检查模块是否存在,如果存在加载?

Multer用数据创build新的文件夹

我使用Muller 。 问题1 当我把下面的代码片段放在app.js app.use(multer({ dest: './uploads' } ).single('file')); 它创build一个新的文件夹下的根文件夹,我的问题是关于这个新文件夹的lifeCycle,当它将被删除? 100次电话后文件夹的大小可能是多less? 问题2 如果我不想限制文件大小,我应该在configuration中放置什么? app.use(multer({ dest: './public/profile/img/', limits: { fieldNameSize: 50, files: 1, fields: 5, fileSize: 1024 * 1024 }, 更新 我的应用程序是像 包含app.js文件 app.use(multer({ dest: './uploads' } ).single('file')); app.use('/', routes, function (req, res, next) { next(); }); 路由文件如下所示 appRouter .post('*', function (req, res) { handler.dispatch(req, res) […]

如何解决WebStorm无法识别一些Node.js Express属性?

执行完express mysite和“npm install -d`后,我用WebStorm打开生成的目录,下面的Express方法不被IDE识别: app.use(express.favicon()); app.use(express.logger('dev')); app.use(express.bodyParser()); app.use(express.methodOverride()); 如何解决这个问题? 注意:在完成这个操作之后,IDE能够识别出很多新东西,并在设置中将模块目录添加为JavaScript库,但仍然无法识别上述方法。 查看图像以查看迄今为止IDE所识别的内容 在下面的图片中,您可以看到IDE仍然无法识别的内容:

Twitter的Bootstrap LESS与Node.js&Express

由于Twitter Bootstrap 2已经出来,我想把它集成到我的Node.js项目中。 不幸的是,less编译器有问题,我不能得到它的工作。 我把所有的文件放到公共文件夹中,并build立一个新的项目与express -c less newproj 。 并添加更less的线 less = require('less'); app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] })); 所有节点告诉我是: Express server listening on port 3000 in development mode undefined 在客户端,我得到一个500(内部服务器错误)的bootstrap.css文件,应该由lessc编译。 lessc bootstrap.less 工作正常。 任何人都知道如何解决这个问题?

使用Express.js无法从请求中获取POST正文

我正在与NodeJS和Express(和更多的东西,如mongo,套接字等)的API工作,但我坚持一个非常简单的步骤,我相信,我只是想从POST req对象获取信息,但是当我尝试访问req.body时出现错误 这是我有: var express = require('express'), http = require('http'), path = require('path'), fs = require('fs'), io = require('socket.io'); dynroute = require('dynroute'); var app = express(); app.set('port', process.env.PORT || 3999); app.use(express.favicon()); app.use(express.logger('dev')); app.use(app.router); app.use(express.bodyParser()); app.post('/user', function(req, res) { console.log(JSON.stringify(req.body)); res.send(req.body.self); }); http.createServer(app).listen(app.get('port'), function () { console.log('App Server is now running at:' + app.get('port')); }); 在console.log(JSON.stringify(req.body)); […]