Tag: 表示

有条件包含在Jade + Express中

如何在玉石中使用“include”语句? 例如,如果我有两个单独的导航栏模板navbar.jade和navbar_notloggedin.jade 我想要做: input(type='hidden', value= user.user)#username – if(user.user!="") include navbar – else if(user.user=="") include navbar_notloggedin

用jadedynamic链接渲染iframe

我有一个.jade视图包含这个: iframe(width='800', height='166', scrolling='no', frameborder='no', src= srcStr) 我尝试使用来自用户的input源URL来渲染它: var string = req.body.code; res.render('embedview', { srcStr: string}); 现在,即使iframe代码看起来是正确的(带有src =“…”属性),那么呈现的页面将只显示没有任何内容的iframe。 几乎看起来像它首先加载与src =“”的iframe,然后粘贴源URL在不重新加载。

如何在茉莉花需要的时候把它expression出来?

我试图得到下面的代码,当我发现我已经包含在这个文件的顶部。 你可以在猴子已经加载后如何修补快递对象吗? var express = require('express') Helper = (function() { var HelperObject = function(params) { this.directories = params.directories; }; HelperObject.prototype.addStaticPath = function(app) { for(i = 0; i < this.directories.length; i++) { var static = express.static('/public'); app.use(static); } }; return HelperObject; })();

如何在mongoose + express中使用模式方法

当我尝试从exports.index.post运行user.comparePassword(见下面)时,出现以下错误 – 我粘贴了所有代码以帮助缩小问题的范围。 UserSchema.pre('save')方法工作正常,但不是在./routes/account.js(我使用mongoose3) 这是我得到的错误。 Caught exception: [TypeError: Object { username: 'test4', email: 'test4@test.com', password: '$2a$10$Ix5vCuVYGIU7AmXglmfIxOyYnF6CiPJfw9HLSAGcRDxMJEttud/F6', _id: 505fee7ce28f10711e000002, __v: 0 } has no method 'comparePassword'] ## ./app.js app.post('/account', routes.account.index.post); ## ./models/user.js var mongoose = require('mongoose') , bcrypt = require('bcrypt') , Schema = mongoose.Schema , db = mongoose.createConnection('localhost', 'mydb'); var UserSchema = new Schema({ username : […]

编译Jade模板时出现TypeError错误

我有这个玉的模板开始导致以下TypeError。 TypeError: /home/jared/code/fiestah-admin/views/items.jade:11 9| a(href=urlFor('item details', { 10| params: { \> 11| //id: item._id 12| } 13| })) #{item.name} 14| .planner By Cannot read property '_id' of null at list_mixin (eval at <anonymous> (/home/jared/code/fiestah-admin/node_modules/jade/lib/jade.js:176:8)) at list_mixin (eval at <anonymous> (/home/jared/code/fiestah-admin/node_modules/jade/lib/jade.js:176:8)) at eval (eval at <anonymous> (/home/jared/code/fiestah-admin/node_modules/jade/lib/jade.js:176:8)) at Object.exports.compile (/home/jared/code/fiestah-admin/node_modules/jade/lib/jade.js:181:12) at ServerResponse.res._render (/home/jared/code/fiestah-admin/node_modules/express/lib/view.js:425:21) at ServerResponse.res.render (/home/jared/code/fiestah-admin/node_modules/express/lib/view.js:318:17) […]

nodejs / express / ejs render()同步

res.render("index.ejs", {}); 对于简单的情况,以上情况可以。 如何使EJS返回处理的string作为函数的返回值? 让它像这样工作: res.send(ejs.render("index.ejs", {})); 换句话说 – 我想嵌套/链接几个render()调用 ,而不是asynchronous的。 Express似乎并不支持这个本地,或者呢? 如果没有,那我怎样才能通过EJS直接实现呢? 如果你想知道为什么我更喜欢“坏”的方式(同步),那么我有一件事要说:caching。 无论如何,模板被caching,所以我不介意模板的第一个负载更慢(反正在几个毫秒内)。 与必须处理对render()的嵌套asynchronous调用相比,这种时间分数单延迟的代价是没有代价的。

从node.js发送数据到客户端js的最佳方法

从node.js服务器向客户端的javascript发送一些数据(最好是json对象的forms)的最佳方式是什么? 我想到了一些select,但是我认为它们都不是很适合。 第二个意见,或其他一些build议是我正在寻找。 让服务器在<script>标签中输出一些代码来设置一个全局variables。 我以前用过这个,但是我不喜欢这个主意,主要是因为它对XSS有潜力,而且我认为这是不好的做法,即使发送的数据没有被用户定义。 用它里面的数据设置一个cookie。 这个选项稍微好一点,但是由于每次页面加载的数据都可能会发生变化(至less在我的设置中),但这并不适合,因为在我看来,cookies不应该是这种易变的。 让客户端javascript在页面加载时向服务器发出ajax请求以请求json文件。 这同样适用,但会增加很多不必要的开销。 每页2个请求似乎没有必要。 背景: 我有一个网站有2个模板:一个login用户的索引和主要内容模板。 我的服务器端是由node.js,express.js,jade等构build而成的。 我使用history.pushState作为我的所有链接,crossroads.js作为客户端的页面路由。 我想能够发送加载的模板和用户的ID /如果他们login到客户端JavaScript,所以它可以处理相应的页面更改。 注销的用户可以查看内容页面,而无需编辑权限,点击某些链接就可以将其返回到索引模板。

ExpressJS GETredirect

我在我的Node应用程序上实现了一些小的aunthentication路由,就像这样简单: app.get('/admin', function(req, res) { res.render('login', { error: false }); }); app.post('/admin', function(req, res) { if((adminAccount.username === req.body.username) && (adminAccount.password === req.body.password)) { res.redirect('/admin/books'); } else { res.redirect('/admin', { error: true }); } }); 如果我用正确的凭据login,它的工作是完美的,如果我失败了,它应该通过redirect到/admin的GET请求。 但是我得到: undefined. Redirecting to //127.0.0.1:3000/admin undefined. Redirecting to //127.0.0.1:3000/admin 这使得我res.redirect正在发出一个GET请求/admin GET /admin res.redirect 。 我能做什么? 我如何指定res.redirectredirect正确的方式?

Socket.io连接只在服务器上build立reset(nodejitsu)在本地工作正常吗?

所以基本上我正在用node.js / express / socket.io制作一个简单的RTS棋盘游戏来学习。 到目前为止,这一切都非常顺利,尽pipe我几乎在纯粹的本地主机上工作。 将其部署到nodejitsu并加载页面,但服务器不将初始服务器数据发送到客户端。 如果(当页面打开时,不刷新)我重置服务器,然后build立连接,整个事情按预期工作,但访问服务器的客户端不会这样做。 服务器init代码: var express = require('express'); var app = require('express')() , server = require('http').createServer(app) , io = require('socket.io').listen(server); server.listen(8080); app.use(express.static(__dirname + '/public')); app.get('/', function(req, res){ res.sendfile("index.html"); }); app.get('/RTSwords', function(req, res){ //res.sendfile("public\\RTSwords.html"); res.sendfile("RTSwords.html"); }); 服务器socket.io代码 // define interactions with client io.sockets.on('connection', function(socket){ //send them board and first seven tiles. […]

我如何设置每个会话的默认variables

我已经build立了我的快速/连接应用程序来使用与redis的会话作为商店: app.use(express.session({ secret: "secret key here", store: app.redisStore, cookie: { maxAge: 600000 } })); 我通过执行以下操作创build了自己的Flash消息系统: module.exports = function (app) { 'use strict'; //set-up session messages app.use(function (req, res, next) { /* set up flash*/ if (req.session.flash === "undefined") { req.session.flash = []; } res.locals.messages = function () { var messages = req.session.flash; //clear out messages […]