我的问题与此类似,但对他的解决scheme没有深入的了解。 我正在使用Passport来validation使用Instagram。 成功validation后,用户被定向到“/”。 在这一点上,请求有用户对象(即它正在工作)。 但是,一旦我redirect,req.user是未定义的。 :'( 奇怪的是passport.deserializeUser正在被每个请求调用。 它成功地获取用户对象,但是在中间件的道路上,req.user没有被设置(或未被设置)。 // on successful auth, goto "/" app.get('/', function(req, res) { // if the request has the user object, go to the user page if (req.user) { res.redirect("/user/" + req.user._id); } res.render("index"); } app.get('/user/:uid', function(req, res) { console.log(req.user) // undefined }
我有ES6客户端上的同构应用程序与Babel transpiler 。 我希望我的快递服务器具有与客户端代码相同的ES6语法。 不幸的是, require('babel/register')不起作用。 server.js require('babel/register'); // doesn't work // require('babel-core/register); doesn't work.. const env = process.env.NODE_ENV || 'development'; const port = process.env.NODE_PORT || 1995; const http = require('http'); const express = require('express'); const address = require('network-address'); let app = express(); app.set('port', port); app.use(express.static(path.join(__dirname, 'public'))); app.get('*', (req, res) => { res.send('Hello!'); }); http.createServer(app).listen(app.get('port'), […]
我正在将我的应用程序从Express转换为sails.js – 有没有办法在Sails中做这样的事情? 从我的app.js文件在Express: var globals = { name: 'projectName', author: 'authorName' }; app.get('/', function (req, res) { globals.page_title = 'Home'; res.render('index', globals); }); 这使我可以在每个视图上访问这些variables,而无需将它们硬编码到模板中。 不知道如何/帆在哪里做。
我使用express创build一个简单的节点项目: npm install -g express-generator express test cd test/ && npm install PORT=3000 npm start 所以这个testing应用程序在3000端口上运行。非常好。 现在我想用nodemon来运行这个项目。 我已经安装了它: npm install -g nodemon 在gihub自述文件中,它以与节点相同的方式运行。 这有点混乱,因为启动节点的新方法是npm start not node 。 所以我试了一下: $ PORT=3000 nodemon ./app.js 13 May 23:41:16 – [nodemon] v1.0.18 13 May 23:41:16 – [nodemon] to restart at any time, enter `rs` 13 May 23:41:16 – […]
我最近收到很多stream量到我的网站运行Node.js。 随着交通量的增加,它已经开始崩溃了很多,这在以前没有发生过。 我的日志中出现以下错误: { [Error: connect EMFILE] code: 'EMFILE', errno: 'EMFILE', syscall: 'connect' } Error: connect EMFILE at errnoException (net.js:670:11) at connect (net.js:548:19) at net.js:607:9 at Array.0 (dns.js:88:18) at EventEmitter._tickCallback (node.js:192:40) 任何人有一个想法,为什么它崩溃? 而想法如何解决呢? 我正在使用Express.js和Socket.io。 它在Ubuntu上运行。
是否可以使用没有任何模板引擎的快递?
有人可以给我一个关于如何使用mongoose的承诺的例子。 这是我所拥有的,但并不像预期的那样工作: app.use(function (req, res, next) { res.local('myStuff', myLib.process(req.path, something)); console.log(res.local('myStuff')); next(); }); 然后在myLib中,我会有这样的东西: exports.process = function ( r, callback ) { var promise = new mongoose.Promise; if(callback) promise.addBack(callback); Content.find( {route : r }, function (err, docs) { promise.resolve.bind(promise)(err, docs); }); return promise; }; 在某些时候,我期待着我的数据出现,但是我怎样才能访问它,或者得到它呢?
我有这个玉代码: p | Avatar hosted by a(href='http://www.gravatar.com/', target='_blank') Gravatar 问题是,它的呈现 <p>Avatar hosted by<a href="http://www.gravatar.com/" target="_blank">Gravatar</a></p> 看起来像:“由Gravatar托pipe的头像”。 无论我在文本行末尾添加了多less空格,它仍然是这样的。 Docs不能帮助我,我无法想象这是一个不常见的问题。
我需要包含一个JavaScript文件到网页。 我写了以下内容: include /../scripts/jquery.timeago.js 但是我明白了 <script>/* * timeago: a jQuery plugin, version: 0.8.2 (2010-02-16) * @requires jQuery v1.2.3 or later * * Timeago is a jQuery plugin that makes it easy to support automatically * updating fuzzy timestamps (eg "4 minutes ago" or "about 1 day ago"). * * For usage and examples, visit: * […]
我有一个非常重量级的服务器查询导致新的页面呈现,我想传递一些查询的结果到客户端(作为一个JavaScript数组的对象)。 这基本上是这样我不必做一个单独的JSON查询以获得相同的内容(这是大多是静态的)。 这些数据最终会有用,但最初并不是这样,所以我没有把它直接放到文档中。 app.get('/expensiveCall', function(req, res) { // do expensive call var data = veryExpensiveFunction(); res.render('expensiveCall.jade', { locals: { data: data, } }); }); }); 数据是一个对象数组,只有一些最初被使用。 我想通过整个数据或一些子集(取决于情况)。 我的玉看起来像普通的玉,但我想包括像 <script type="text/javascript"> var data = #{data}; </script> 但是这不起作用(这是一个对象数组)。