Tag: express

如何处理Node.js应用程序中的mongoose错误

我正在用express和mongoDb和mongoose开发一个node.js应用程序。 该应用程序将用户保存在下面的代码中,没有问题,但是在这个代码中,即使进程成功,用户仍然保存,它总是会出现控制台错误。 我试图做闪光消息和validation,但我不能继续这个问题。 另外,我不确定是否使用了正确的post方法(我应该使用res.status(500).send('error'))吗? newUser.save().then(function (error) { if (error) { console.log('error') // always prints this } else { console.log('success') } }) 完整的代码 var User = require('../models/User') var router = require('express').Router() router.route('/user/signup') .get(function (request, response) { // render the form response.render('user/signup') }) .post(function (request, response) { var username = request.body.name var password = request.body.password var newUser […]

在express.js中使用htmlstring来提供静态文件

我做了前端,所以当我试图在服务器上做某些事情时,我有时会迷失方向。 我有这个server.js文件 const express = require('express'); const http = require('http'); const path = require('path'); const logger = require('morgan'); const renderPage = require('./layout'); const cookieParser = require('cookie-parser'); const bodyParser = require('body-parser'); const admin = require("firebase-admin"); var index = require('./routes/index'); // Initialize the Express App const app = express(); // Apply body Parser and server public assets […]

执行串联function

首先…新年快乐! 你能不能请我解释一下,这是如何工作的? 我浏览了Connect的( https://github.com/senchalabs/connect )源代码,但我不明白。 我想自己写。 app.get( '/', function(req, res, next) { // Set variable req.var = 'Happy new year!'; // Go to next function next(); }, function(req, res, next) { // Returns 'Happy new year!' console.log(req.var); // <- HOW IS THIS POSSIBLE? // (…) } ); 提前致谢!

Express.JS处理服务器端错误

我在Node.JS上使用Express.JS来创build一个应用程序。 我正在build立路线并尽我所能维护一个RESTful架构。 什么是接受表单input的过程,遇到某种错误(不一定是validation错误),然后向用户显示相同的表单,但包括他们发送到服务器的数据呢? 起初,我将POST数据存储到一个会话中,但是这从来没有像一个好的解决scheme,更像是一个黑客。 然后,我调整了我的路线,而是使用app.post|put|del()来处理表单提交,然后使用带有app.all()的path作为“全部抓取”。 基本上,如果我遇到一个错误,我会打电话next() ,把控制权交还给我的“全线”路线。 这最终导致我偏离了原来的RESTful方法。 现在,我已经build立了我的路线来更准确地反映REST风格。 但是,如果我使用app.redirect() ,则数据在redirect中丢失。 我已经结束了使用感觉像另一个黑客: controller.new_form.apply(this, arguments); (这在controller.create()被调用) 当然,我可以使用客户端validation,但我正在尽我所能创build一个完全在服务器端运行的应用程序,然后添加客户端代码,以此来改善受支持的用户体验。 有没有一些方法可用express.js(或connect.js)接受表单操作在不同的URI从表单本身,但允许我回去而不实际redirect浏览器,以便表单可以保持填充(以及显示一个错误messoge)为我的用户?

如何在Node.js + Express中redirect嵌套的URL

我试着做一个模块,redirect旧的url到Node.JS + Express的新的: app.get('/category1', function (req, res){ res.redirect('/category2', 301) }) – 正常工作。 但是当我们到/category1/subcategory它不会redirect到/category2/subcategory 如何做这个redirect规则就像在Apache的.htaccess中: RewriteRule ^category1/(.*)$ category2/$1 [R,NC,L] 例如 /category1 -> /category2 /category1/ -> /category2/ /category1/2/3/ -> /category2/2/3/ /category1/2/?a=1&b=2 -> /category2/2/?a=1&b=2

高效地跟踪客户端和服务器上的坐标

我正在尝试使用websockets,node和JavaScript来创build一个多人游戏。 什么是更新客户端和跟踪服务器上的客户端坐标的最佳方法? 我目前的方法工作,但效率非常低。 (我可以听到我的笔记本电脑风扇旋转了很多哈哈!)。 那么发生了什么事情: 服务器正在等待客户端发送消息“startmove”,这也包含了方向。 一旦服务器收到这个消息,它将开始移动播放器并播放它的位置。 如果服务器收到消息“stopmoving”,这也是一个方向…它停止朝这个方向移动。 我的问题: 有什么调整,我可以用来提高性能? 服务器代码片段 var player = { x: 100, y: 200, left: false, right: false, down: false, up: false } var count = 0; io.sockets.on('connection', function(client){ ++count; io.sockets.emit('player_count', count); io.sockets.emit('connect', { "x" : player.x, "y" : player.y }); client.on('disconnect', function () { –count; io.sockets.emit('player_count', count); }); client.on('startmove', […]

Express.js:将req.body转换为POST编码的string

我正在使用express.bodyParser中间件,我试图将req.body对象转换为POST编码的string。 有没有办法做到这一点? 例: Name: Jonathan Doe Age: 23 Formula: a + b == 13%! 变为: Name=Jonathan+Doe&Age=23&Formula=a+%2B+b+%3D%3D+13%25%21

ExpressJS – 视图部分的自定义文件扩展名

我试图包含一个视图部分(在相同的文件夹中)这样有一个.js扩展名: <%- partial('somePartial.js') %> 而且,我得到这个错误: Cannot find module 'js' 视图引擎正在使用文件扩展名来寻找模块…任何想法,如果这可能吗? 我想保留用于语法突出目的的.js扩展名(当然,我可以设置我的IDE将扩展名为*.js.ejs的文件作为JS文件来处理,但我宁愿不这样做)。

我在哪里把我的.js文件?

我使用ssh root从Linode安装了Node.JS,Express,MongoDB等的VPS Ubuntu 10.04服务器。 我想知道的是,如果我有一个名为test-file.js文件与代码: var express = require('express'); var app = express.createServer(); // Configuration app.configure( function() { }); // Routes app.get('/', function(req, res) { res.send('Hello World'); }); app.listen(3000); 如何上传文件或使其与服务器协同工作?

Node JS,express,Mongoose,嵌套查询

我有一组嵌套查询与快速/mongoose,非常像这样: app.get(…, function(…) { Schema1.query(…, function(…, res1) { for ( var key in res1 ) { Schema2.query(…, function(…, res2) { data[key].appendedAttribute = res2.somedata; }); } res.render(…, data); }); }); 哪个不起作用,即,appendAttribute不会附加到数据集。 我究竟做错了什么?