Tag: 表示

如何写一个只会捕获行为的快速路由中间件?

我正在使用以下中间件: app.use(function(req,res,next){ console.log(req.url) next() }); 但它捕捉每一个请求,包括图像/ CSS / JS等… 如果我只是想要采取行动,我该怎么办?

now.js没有准备好

我有一个问题。 我正在尝试使用node.js / express.js / now.js创build一个dynamic的Web应用程序。 我已经做了一切,如http://nowjs.com/download小示例代码所示,没有成功,客户端的now.js脚本正确托pipe,但now​​.ready(..)从不触发。 唯一的区别是我使用express和我的服务器是用来初始化now.js是https。 你有什么想法可能导致它不工作? 服务器端: var server = express.createServer(..); .. server.listen(port, function() {..}); var nowjs = require('now'); var everyone = nowjs.initialize(server); everyone.now.log = function(msg) { console.log(msg); } 客户端: <script type="text/javascript" src="/nowjs/now.js"></script> <script type="text/javascript"> now.ready(function() { now.log('asd'); alert('asd'); }); </script> 任何帮助将不胜感激! 最好的,Kornel

Node.js将一个variables等待分配,直到callback函数完成

我正在使用Node.js,Express,MongoDB和Mongoose。 我有一个函数,获取我的MongoDB数据库中的一个文档的最大的身份证号码,并将其返回给程序。 我已经开始模块化我的代码,并已经将该function迁移到另一个模块。 我已经成功地访问了我的主要模块中的function,但它涉及asynchronous数据库查询。 当函数返回一个值,我想把它分配给一个variables。 不幸的是,当返回值被分配给variables时,variables实际上被设置为undefined。 我正在考虑使用事件发射器来表示查询已经完成,但是也提出了两个问题: 1)我不认为你可以做任何事情在一个程序之后,返回声明,这将是必需的。 2)模块之间的事件发射器看起来非常挑剔。 请帮我把variables分配给正确的值。 主要function和模块的代码如下: (主文件)app.js: //requires and start up app var express = require('express'); var mongoose = require('mongoose') , dbURI = 'localhost/test'; var app = express(); var postmodel = require('./models/post').postmodel; //configures app for general stuff needed such as bodyParser and static file directory app.configure(function () { app.use(express.bodyParser()); app.use(express.static(__dirname […]

在Express with Consolidate和Mustache中使用布局视图

我刚刚开始通过使用Express的Node,最后得到Consolidate JS正常工作,按照Consolidate JS Github页面上的说明,使用Mustache作为模板视图系统。 小胡子正在加载,但我现在想知道如何在模板的渲染中包含布局文件。 默认的Jade系统在layout.jade文件中加载.render方法的内容。 我只是想知道如何做到这一点,但胡须。 任何帮助是极大的赞赏! 码: index.js exports.index = function(req, res){ res.render('index', { title: "Work pl0x?" }); }); index.mustache 欢迎来到{{title}} 我只是想index.mustache内容来在下面的代码(layout.mustache)的“{{content}}”部分。 我怎样才能做到这一点? <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="UTF-8" /> <title>Project Name | {{title}}</title> <link href="/stylesheets/style.css" rel="stylesheet" /> </head> <body> {{content}} </body> </html>

用dummy db在自己的环境中testingexpress.js应用程序

我有我的networking应用程序的以下结构 db.js: mongoose = require('mongoose'); db = mongoose.createConnection("…"); playerSchema = new mongoose.Schema({ // my schema stuff }); exports.Player = db.model("player", playerSchema); 我有我所有的路线在一个自己的文件(路线/ index.js): db = require('../db'); exports.createPlayer = function(req, res) { player = new db.Player(); player.name = req.body.player_name; player.save(function(err) { if (err) { log(err); } res.redirect("/"); }); }; app.js routes = require('./routes'); app.post("/start", routes.createPlayer); 我使用摩卡testing应用程序,应该和超类似下面的例子 […]

快速路由共享variables

我最近开始学习node.js + Express,发现它很有趣。 我已经阅读了许多有关在路由中共享variables的post,其中许多是使用module.exports和exports。 我决定做一个函数来设置一个局部variables 路线/ test.js var db; exports.setup = function(_db){ db = _db; }; exports.doit = function(req, res){ db.get("testToken", function(err, result) { console.log("err: " + err); console.log("result: " + result); res.send("respond with a resource"); }); }; app.js var redis = require("redis"); var db = redis.createClient(); var test = require("./routes/test.js"); test.setup(db); // configuration… app.get('/', […]

如何快速到ejsdebugging器?

我似乎有一个内部的ejs代码,通过快递服务的错误。 我通常使用优秀的node-inspector包来debuggingexpress和node.js. 但它似乎并没有在ejs中可用。 有没有一个好的方法来做到这一点?

你可以使一个JavaScript的正则expression式失败,而不是传递时发现匹配?

例如,我可以做一个正则expression式,以便string通过,如果它不包含“富”? 我正在做的是使用nodejs express来匹配url。 如何匹配任何不包含“foo”的url? 例如,以下内容与根页面匹配: app.get('/', function(req, res){ res.send('hello world'); }); 但我怎么能做相同的路线除了/login ? app.get(/regex_here/, function(req, res){ res.send('hello world'); }); regex_here匹配除/login之外的所有页面的值应该是多less?

在快速比较参数时失败(获取请求)

我使用Express 3.0,当我试图解决一些查询,我想testing是否有其他组件与这些ID匹配的数据库。 任何方式,这是我没有工作的代码: function(req, res) { var Parking = mongoose.model('Parking'); var parkingId = req.params.id; var userId = req.user['_id']; Parking .findOne({'_id': parkingId}, function(err, parking) { var parkingUserId = parking.userId; if (userId == parkingUserId) { … } else { … } req.params.id在url内部,req.user ['_ id']来自中间件。 虽然我打电话这个url与两个领域相同的ID ….它一直得到错误… 为什么我做错了? 谢谢!

node.js和expressjs使用URL参数呈现模板

目前,用户使用邀请ID来到我的注册页面 例如: http : //www.mysite.com/user/register/50e203eb4d37bdfd22000042 页面加载和表单加载等….一切都很好。 然后我做了一些后端validation,如果validation失败,我使用消息和表单数据调用res.render: res.render('user/register', { messages: messages , form: form }); 这一切都按预期工作,但是当渲染发生时,它将使用户回到: http://www.mysite.com/user/register (它错过了invite_id) 我如何传递一个URL res参数与res渲染? 如果我做: res.render('user/register/50e203eb4d37bdfd22000042', { messages: messages , form: form }); 它实际上正在寻找50e203 ….文件,并给我没有find404 谢谢!