Articles of 表示

用于快速/连接的Ajax兼容中间件

正如它在标题中所说,我正在寻找express.js或连接的中间件,这将使我能够发出csrf请求。 连接中的csrf-middleware为每个请求创build一个新的令牌,这使得通过Ajax进行POST请求不是很容易。

不能使用SaSS和快递选项

老版本的express可以select使用sass作为站点的CSS引擎。 我现在看到我正在运行的版本(2.5.5)不提供这个作为一个选项,而是它有手写笔的香草CSS。 任何人都可以validation支持仍然提供。

创build任何四位数字,即site.com/3434的路线

我想创build一个允许任何四位数字传递到URL(www.site.com/3434)的路由。 我一直无法从快速文档中弄清楚这一点,而且只是第一次了解它。 我拼凑了一些基于谷歌search的东西,但这是不正确的,我还没有足够的正则expression式的知识呢。 app.get(/^[0-9]{4,4}$/, function(req, res){ res.render('mobile'); }); 任何帮助,将不胜感激。

Socket.io和Express得到一个错误“没有方法套接字”

这里是我试图testing一个基本的Socket.io和Express设置(每个在socket.io网站上的例子)时得到的错误: /Users/scottcorgan/Projects/sevenly/campaigns/node_modules/socket.io/lib/manager.js:659 var socket = this.namespaces[i].socket(data.id, true); ^ TypeError: Object function extend(another) { var properties = Object.keys(another); var object = this; properties.forEach(function (property) { object[property] = another[property]; }); return object; } has no method 'socket' at Manager.handleClient (/Users/scottcorgan/Projects/sevenly/campaigns/node_modules/socket.io/lib/manager.js:659:41) at Manager.handleUpgrade (/Users/scottcorgan/Projects/sevenly/campaigns/node_modules/socket.io/lib/manager.js:588:8) at HTTPServer.<anonymous> (/Users/scottcorgan/Projects/sevenly/campaigns/node_modules/socket.io/lib/manager.js:119:10) at HTTPServer.emit (events.js:88:20) at Socket.<anonymous> (http.js:1390:14) at TCP.onread (net.js:334:27) 欣赏我可以得到的任何帮助,请:)

在尝试从已经初始化的伪javascript类中修改“this”对象时遇到了很多麻烦

向下滚动到该post的底部可以看到解决方法。 这可能更容易,只是在源代码中解释与评论。 现在的问题是我不知道如何伪类一起工作来执行我正在尝试做的任务(在下面的代码中解释)。 代码被分解成3个文件:lead.js,router.js和db.js. 有相当数量的代码行,但大部分是评论。 [lead.js] var bcrypt = require('bcrypt'), validators = require('../lib/validators'), utility = require('../lib/utility'), document = {}; var Lead = module.exports = function (db) { // Save a reference to the database. this.db = db; // Reference initial document. // This is totally wrong, not sure how to 'send' a variable to the […]

我如何monkeypatch快速查看查找?

我试图重写快速查看查找function,但无法设法做到这一点。 目标是能够在多个目录中查找模板。 我想要做的是,在bootstrap.js : function bootstrap(express) { var originalLookup = express.View.prototype.lookup; express.View.prototype.lookup = function(path) { console.log('Requested for', path); return originalLookup(path); }; }; module.exports = bootstrap; 我的app.js代码是: var express = require('express'), routes = require('./routes'), bootstrap = require('./bootstrap'), app = module.exports = express.createServer(); // Configuration require('./config/environment.js')(app, express); // Bootstrap bootstrap(express); // Routes require('./config/routes.js')(app); // Start app.listen(3000); 在我的bootstrap.js代码中,express.View.prototype.lookup是未定义的。 […]

Nodejs Express服务器在发生错误时会closures

我使用Express作为我的Node.js Web框架与MongoDB作为持久层。 当我使用'node app.js'命令运行服务器时,偶尔会发生一些错误,例如mongoose错误或imagemagick错误,洞节点进程将会死亡,并且在浏览器中不可用。 我用快速error handling程序,但这仍然发生。 有人可以帮忙吗?

通过AJAX呈现Jade模板并尝试传递/访问与HTML分开的数据

我正在使用Express通过res.render在ajax调用上呈现Jade模板。 问题是我想回传一些JSONvariables或JavaScript对象与HTML。 这是可能的一个优雅的方式或所有? 我知道我可以传递一个脚本标记与HTML,但我不知道如何可以直接在'数据'响应中访问这些值。 示例: – var someNumber = 89 h1 Hello World li #{someNumber} 通常在ajax调用的这个模板的res.render()中,你会回来的 <h1> Hello Wolrd </h1> <li> 89 </li> 全部采用HTML格式。 如何访问callback中的HTML节点之一? 理想情况下,使用jQueryselect器,如$('h1 li')。 我需要访问回拨号码,但它似乎并没有抓住它。 我正在想听者或增加一个延迟,也许我需要分配给一个string,并parsing出来。

Ajaxfile upload与Node.js

我试图使用ajaxfile upload插件( file upload插件 )上传文件到node.js服务器。 这是我的客户端代码来初始化插件: $(function() { /* dom ready */ var uploader = new qq.FileUploader({ // pass the dom node (ex. $(selector)[0] for jQuery users) element: document.getElementById('uploader'), // path to server-side upload script action: '/newitem', allowedExtensions: ['jpg', 'jpeg', 'png', 'gif'], sizeLimit: 10000000 }); }); 我的服务器代码是 app.post('/newitem',function(req, res) { if(req.xhr) { console.log('Uploading…'); var fName […]

Node / Express服务映像是否存在; caching问题

一直在使用SO,但这是我的第一个问题,因为我找不到解决这个问题的方法。 我会尝试尽可能的明确,有什么不清楚的,只是让我知道,所以我更新相应的问题。 我正在使用路由来根据在路由中传递的userId作为参数()来提供用户的照片。 它可以工作,但每次遇到标签时,都会从服务器请求图像,并且从不使用caching版本。 我用Cache-Control玩了一下,但是不pipe是全部还是全无:如果启用了caching并且用户改变了他的照片,它仍然会使用旧的照片。 我的问题是:是否有可能使用caching的版本,如果照片没有改变,但如果它确实使用从服务器? 我尝试使用“必须重新validation”以及“最大年龄”或“无caching”无济于事。 如果有帮助,以下是路线代码: Module.exports.getPhoto = function(req, res) { var mime = require('mime-magic'), memberId = req.params.memberId, imgUrl; path.exists('public/images/memberPhotos/' + memberId, function(exists) { if(exists) { imgUrl = 'public/images/memberPhotos/' + memberId; }else{ imgUrl = 'public/images/memberPhotos/noPhoto.jpg'; } fs.readFile(imgUrl, function(err, img) { mime.fileWrapper(imgUrl, function(err, mimeType) { if(!err) { console.log(mimeType); res.writeHead(200, { 'Content-Type': mimeType, 'Cache-Control': "max-age=" […]