草庐IT

grunt-express

全部标签

node.js - Express - 从 Web 服务返回二进制数据

我尝试使用Express返回一些二进制数据。在示例中,它是PDF,但理论上,它可以是任何类型的文件。但现在只关注pdf。我写了这段代码:app.get('*',function(req,res){getBinaryData(req.url,function(answer){res.type('pdf');res.end(newBuffer(answer,'binary'));},function(error){res.setHeader('Content-Type','text/plain');returnres.end(error);});});根据我在这里看到的:https://g

node.js - Express.js 版本 4 中 req.url 和 req.originalUrl 的区别

我正在尝试在Express.js版本4应用程序中实现登录功能。我需要确定用户是否已登录,然后才能执行某些操作。所以我有一个名为isLoggedIn的中间件,它只检查用户对象是否在session中,如果没有,用户将被重定向到登录页面。用户登录成功后,必须重定向到原来的URL。app.get('/someaction',isLoggedIn,'actualfunctiontobeexecuted');现在在isLoggedIn方法中,我看到req.url和req.originalUrl包含请求的操作。但是如果用户没有登录,当重定向到/login页面时,req.url和req.origina

node.js - Node/ express : concurrency issues when using session to store state

因此,我为此进行了相当多的搜索,发现了几个有点相似的问题,但没有一个真正解决了这个问题,所以我认为这值得自己提出一个问题。我有一个快速应用程序,其中包含一组修改session以保持状态的路由。问题是,如果有多个并行请求,由于请求之间的竞争条件,session将不时被覆盖。通常...app.use(express.static('/public'));app.use(session(...));app.route('methodA').get(function(req,res,next){doSomethingSlow().then(function(){req.session.a='f

javascript - 如何使用 Node.js (express.js) 开发 Multi-Tenancy 应用程序?

我正在寻找有关如何在Node.js中编写Multi-Tenancy应用程序的资源。谁能指导我正确的方向?谢谢。这是我的技术栈:Node.jsExpress.jsMocha.jsPostgresSQLJavaScriptHTML5 最佳答案 可以在这里找到一个非常完整的StackOverflow答案:HowtomakeNode.jsMulti-tenantforwebsitesonport80?jackdbernier对expressJS中的虚拟主机也有很好的回答。 关于javascrip

node.js - 在 node.js 中使用 express undefined variable 不会引发错误

我正在使用express运行node.js。我写了一个带有方法的Node模块,所以当你去http://bla.com/module_name/method_name它将运行该方法。该方法遵循典型的风格exports.method_name(req,res,next);我的主应用程序是这样的:app.all("*",resSetup,controller,render);Controller是根据路径调用方法的东西。似乎如果方法中有undefinedvariable错误,express会卡在那里而不抛出任何错误。控制台日志中也不会出现任何内容。我可以在错误发生之前和之后放置一条控制台消息

Node.js + Express + Redis,何时关闭连接?

我有一个使用Express的Node应用程序和node_redis.我正在遵循LearningNode中概述的方法。预订并为应用程序的生命周期创建一个客户端。鉴于这种方法,我什么时候在redis客户端上调用close()?我还需要吗?相关代码varexpress=require('express'),redis=require('redis');varapp=express(),config=require('./config/application')[app.get('env')];//createRedisclientvarredisClient=redis.createClie

security - 如何防止 Node.js/Express 提供我的应用程序的源代码?

我从没想过这会是Node.js和Express的问题,但一时兴起,我决定在浏览器中输入我的Node.jsExpress项目中一个源文件的位置-类似于:http://www.mywebsite.com/mynodejsapp/app.js令我极度恐惧,我的应用程序的源代码立即弹出,公开供所有人查看。那么,除此之外:如何在Node.js/Express中阻止它?我的设置代码非常简单:varapp=express();app.configure(function(){app.use(express.static('/home/prod/server/app/public'));});app.

javascript - 通过 Express/Node.js 中的重定向将错误消息传递给模板

在我的Node.js应用程序中,我有一个函数(由Express路由)向用户呈现一个表单:app.get('/register',function(req,res){res.render('form');});我有另一个函数,路由到相同的URL,但它处理POST请求,它接收前一个表单提交的数据。如果表单未通过验证,它将用户重定向回表单;否则,它会做应该做的事情:app.post('/register',function(req,res){if(validate(req.registerForm))returnres.redirect('back');persistStuff(req.re

json - Express.js 中的 POST 数据 JSON 验证

我正在使用Node.js和Express.js编写应用程序。该应用程序有一个(小)RESTAPI,然后是一个Web前端。我使用MongoDb。对于API,我倾向于将POST数据发送到某个端点,然后进行处理或其他操作,然后将其转储到数据库中。但是,我有一些我想强制执行的数据库模式。在我的POST数据上强制执行特定结构的选项/最佳实践是什么,以便我知道某些字段存在且属于特定类型。如果这可以在中间件级别完成就好了,但这不是必须的。人们通常为验证/架构执行做什么? 最佳答案 node-validator就是你要找的。您可以像这样将其用作独立

node.js - 使用 mongoose 和 express 处理数据验证的最佳场所

也许这里没有明确的答案,但我想知道在处理express.js和mongoose时在哪里处理数据验证。以下哪项是最佳做法(我目前使用组合,开始感觉很笨拙):模型(Mongoose)Controller/路线(express)我读过的一些较早的帖子是:this;this;and,this;但相互矛盾的答案只会增加困惑。也许它只是不明确,在这种情况下是一个更好的选择? 最佳答案 使用Mongoose时,我会将大部分的验证逻辑推送到Mongoose模型/模式。您可以使用mongoose-validator这只是node-validator的