Tag: 表示

node.js expressjs flashmessage ajax

我试图从一个快速的应用程序得到一些flashmessages。 我的理解是,快递中的flash消息(例如:req.flash('info',message))被存储在服务器上,只有在下一个请求被加载到视图中? 所以,如果我有一个页面ajax网站,我不应该使用内置的Flash方法,而只是使用发送,或者我应该做一些其他的事情,如提出一个视图的另一个请求? 谢谢。

表示app nodejs和mongoose db / mongodb入门

我不能为我的生活得到mongoose在我的快速应用程序工作。 我已经安装mongoose,并通过NPM mongodb(mongoose文件没有说明是否需要单独的mongodb或如何启动和运行)。 这是我使用的代码。 var mongoose = require('mongoose'); mongoose.connect('mongodb://127.0.0.1/my_database'); var Schema = mongoose.Schema, ObjectId = Schema.ObjectId; var Comments = new Schema({ title : String , body : String , date : Date }); var BlogPost = new Schema({ author : ObjectId , title : String , body : String , date : Date , comments […]

使用HBS条带快速查看渲染(消耗?)Handlebars客户端模板

将Don Park的HBS作为视图引擎使用Express,目的是为客户端和服务器代码使用相同的模板样式。 不过,我遇到了一些麻烦。 通过这里显示的index.hbs, <h1>{{title}}</h1> <p>Welcome to {{title}}</p> <div id="place"></div> <script id="firstTemplate" type="text/x-handlebars-template"> <ul> {{#lines}} <li>{{name}}</li> {{/lines}} </ul> </script> 下面是浏览器呈现的内容: <h1>Express</h1> <p>Welcome to Express</p> <div id="place"></div> <script id="firstTemplate" type="text/x-handlebars-template"> <ul> </ul> </script> 快速查看渲染过程似乎消耗了预期用于浏览器的模板块。 据我所知,视图渲染器只是将整个文件的.hbs作为一个stringtempate来渲染,而不是将脚本块与服务器视图区分开来。 任何想法/解决方法?

ExpressJS在导航目录时错误地重写path

我在一个Node应用程序中遇到了一个与Express不一致的问题,在这个应用程序中,由于URL重写,我无法正确导航通过内置目录呈现。 用代码解释更容易: var express = require('express'); var app = express.createServer(); app.use("/public", express.static("/web/content")); app.use("/public", express.directory("/web/content")); app.listen(8888); 当您导航到localhost:8888/public时,在/web/content的内容上方使用超级简单快速服务器将显示为链接列表。 所以,例如: .. index.html header.jpg js (folder) css (folder) 从那里,如果我点击index.html或header.jpg他们显示正确,但点击任一文件夹将导航到(例如) localhost:8888/js ,即使链接明确导致localhost:8888/public/js 。 进一步检查发现请求被发送到正确的path( /public/js ),但服务器返回一个301 – Moved Permanently响应,然后redirect浏览器到/js ,继续显示一个错误页面,因为内容无法find。 (不完全是?) 尝试请求这些文件夹下的特定文件(即: localhost:8888/public/js/main.js )工作正常,并没有相同的问题。 疯狂的部分是,这是在我的开发箱上做了一段时间,然后简单地…停下来。 不知道为什么。 但是,当尝试部署时,生产服务器开始出现相同的问题,即使我无法再在我的开发环境中重现该问题。 有谁知道为什么快递似乎是如此的重写我的url错误的东西?

Node.js – 快速会话

我使用node.js和express,socket.io。 我在Express中使用会话。 我如何阅读会话并在socket.io中与他一起工作 – 在连接的部分? store.userid是未定义的。 var express = require('express') , stylus = require('stylus') , nib = require('nib') , sio = require('socket.io') , ejs = require('ejs'); store = new express.session.MemoryStore; app.configure(function () { app.use(express.bodyParser()); app.use(express.cookieParser()); app.use(express.session({ secret: 'secret', store: store })) app.use(stylus.middleware({ src: __dirname + '/public', compile: compile })) app.use(express.static(__dirname + '/public')); app.set('views', __dirname); app.set('view […]

如何覆盖node.js express会话的会话ID(使用护照)

我正在实施一个调用我们内部authentication服务的护照策略。 内部auth服务生成会话ID,所以我需要确保连接会话使用该ID而不是默认生成的ID。 有没有办法做到这一点? 是否有可能提供我自己的钩子函数来连接产生会话ID? 我无法想象它像设置session.id或类似的东西那么简单,因为我无法控制连接实际创build会话的时间或方式。 有没有人解决了这个问题?

nodejs表示app.use方法

我正在处理以下遗留代码: var express = require('express'); var app = express.createServer(); app .use('/run!', getUrl('app.sys', '/run')) .use('/stat', getUrl('app.sys')) 我遇到了麻烦,find“使用”方法的文档。 我发现了一些用法的例子,但是在所有这些例子中,它似乎得到了一个参数,在这里它得到2.请你帮我弄清楚这里使用语句的含义是什么? 谢谢你,李

Googlenetworking字体在Express中不起作用

我无法让Google网页字体在Express 3.0中运行。 以标准方式加载字体似乎不起作用: link(href='http://fonts.googleapis.com/css?family=Crete+Round') 然而加载字体在这些方式之一工作正常: script(type="text/javascript") WebFontConfig = {google: { families: [ 'Crete+Round::latin' ] }}; (function() { var wf = document.createElement('script'); wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; wf.type = 'text/javascript'; wf.async = 'true'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wf, s); })(); 要么 style @import url(http://fonts.googleapis.com/css?family=Crete+Round);

Node.js w / expresscallback中的error handling

我是新来的node.js和expression。 我在我的app.js文件中有以下最后的手段error handling程序: app.use(function(err, req, res, next){ // we may use properties of the error object // here and next(err) appropriately, or if // we possibly recovered from the error, simply next(). res.status(err.status || 500); console.log(err); var errMsg = "An internal error occurred. Please notify your system administrator."; // respond with json if (req.accepts('json')) { […]

我如何testing响应是否已经设置/发送?

我有一个明确的控制器行为“可以”发送内容的情况。 “发送”是指内容被发送(http 200)或http状态被设置为某事(例如http状态204或redirect) 如果没有发送/设置默认例程应该发送一个默认的内容。 如果快递控制器操作已经设置了内容或者设置了状态码,我如何在我的默认程序中testing?