Tag: 表示

Express.js中间件修改响应

我想用中间件函数来表示修改响应。 app.use(function(request, response, next) { .. do something .. next(); // moves to next middleware }); 我可以修改将传递给以下中间件function的request和response对象。 有没有一个惯例或最佳做法来修改这些对象? 在我的具体情况下,我设置res.body因为通过使用res.write()它实际上已经发送响应有效载荷。 是否有一些属性可以存储有效负载,稍后将由下一个中间件function发送?

Rally:Node.js中的v2.0 API授权来处理POST请求

我在Node.js中创build了一个小型服务器来处理Rally POST请求。 这一直工作,直到我更新到拉力赛v2.0 API。 使用新的授权模式,我不知道我必须对我的服务器做些什么,以便我不再“无权执行操作:无效密钥”。 我读了拉力赛授权文件,但我不知道如何应用它在服务器内。 这是我有什么不工作: var express = require('express'); var app = express(); var sys = require('util'); var client = require('restler'); var userNamePassword = { 'username': 'myusername', 'password': 'mypassword' }; app.use(express.bodyParser()); app.all('/rally/projectpermission/create', function(req, res) { client.get("https://rally.eng.xxxx.com/slm/webservice/v2.0/security/authorize", userNamePassword) .on('complete', function(data, response) { var result = JSON.parse(data); var operationResult = result['OperationResult']; securityToken = operationResult['SecurityToken']; var […]

玉和客户端的JavaScript

我刚开始学习使用jade作为渲染引擎的nodejs的Express,我有意见和路线 这是我的看法 layout.jade doctype html html head title= title link(rel='stylesheet', href='/stylesheets/style.css') link(href='/themes/bootstrap.min.css', rel='stylesheet') script(src='/javascripts/mygridwidjet.js', type='text/javascript') body block content index.jade extends layout block content h1= title p Welcome to #{title} .content-container-fluid .row .cols-sample-area #Grid 这是我的路线 index.js exports.index = function(req, res){ res.render('index', { title: 'Football Archive' }); }; 我写了我的客户端JavaScript与#Grid交互 现在我真的很困惑在哪里把客户端JavaScript。 ps:我是一个总noob,对不起,如果这个问题是如此愚蠢。

如何testing包含asynchronous函数的nodejs导出

我不知道如何testing一个nodejs的导出函数。 考虑下面的代码: exports.create_expense = (req, res, next) -> User = database.db_model 'user' req.body.parsed_dt = Date.parse(req.body.date) req.body.amount = parseInt(req.body.amount) User.update {_id: req.api_session.id}, {$push: {expenses: req.body}}, (err, numberAffected, raw) -> if err? res.send 500 else res.send 200 User是这里的mongoose对象。 我想写一个testing(使用摩卡)来testing这个function(在我的testing中,我将调用create_expense ),但由于User.update是asynchronous的,我不能只是调用create_expense而不通过某种forms的Promise? 我知道我可以使用supertest,但也testing了我不想在这里做的路线。 有没有什么办法来testing这个任何npm这里有用?

ExpressJSvariables最后的参数数量

我希望我的快速应用程序与file/a和file/a/b/c匹配请求, file/a后面的variables数目至less为1。 我试过这个: app.get('/file/:path?*', function(req,res){ res.send(req.params.path); }); 但结果是: $ curl localhost:3000/file/a a $ curl localhost:3000/file/a/b a 如何通过不使用req.query.splice(1)来获取整个查询? 我希望代码更具可读性,这种拼接在维护时很容易被遗忘。

`app.get(“/”,func1,func2);`和app.get(“/”,func1)一样。 app.get(“/”,func2);`?

我正在尝试在express.js中为我的web应用程序创build一个路由系统,我需要知道是否需要使用app.get / post / put / delete.apply以编程方式为一条路线设置多个function。 那么 app.get("/", function(req, res, next) { code(); next(); }); app.get("/", function(req, res, next) { finish(); }); 一样 app.get("/", function(req, res, next) { code(); next(); }, function(req, res, next) { finish(); }); ?

限制快递服务器

我正在使用一个非常简单的express服务器,在Ubuntu机器上有一个PUT和GET路由 ,但如果我使用几个客户端(大约8个)在同一时间做请求,它很容易被淹没,并开始返回connect EADDRNOTAVAIL错误。 我发现没有办法避免这种情况,而不是减less每个客户端的请求数量,但有没有办法在服务器上遏制答案,以便返回错误而不是排队请求,并在适当的时间提供服务? 也许最好是检查是否有客户的请求的答案,如果没有被送达,不插入新的请求? 客户在这里

Express:使用ejs时找不到静态文件

我想我所有的请求被redirect到位于Views文件夹中的index.ejs视图。 在我的routes.js文件中,我添加了这个: module.exports = function (app) { app.get('/', function(req, res) { res.render('index', {title: "TODO"}) }); } 索引视图包含所有页面的标记,因为它将是一个SPA,所以我将在客户端dynamic交换视图。 问题是,我引用脚本位于公用文件夹中,他们没有find,我得到一个404: script src="public/app/app.js"></script> 我想这是因为Express不知道如何服务器文件。 我已经指定公用文件夹中的所有内容都应该是静态文件: app.use(express.static(config.root + '/public')) 现在,如果我不使用ejs模板,并且如果我在公用文件夹而不是视图中使用index.html文件,它工作正常。 我只需要这样做: app.get('*', function(req, res) { res.sendfile('./public/index.html'); }); 但是我想利用ejs模板来添加bundle到页面,而不是逐个添加脚本。 那么我的代码有什么问题? 我怎样才能解决404文件的JavaScript文件?

Angular with CoffeeScript和Jade for前端,Node,Express和CoffeeScript用于后端

我即将开始在MS环境之外开发Web应用程序。 一直在search不同的技术栈,看看最吸引人的地方。 经过大约一周的search,探索,看着一大堆PluralSitevideo,我开始非常喜欢下面的组合的想法: 结合使用Node.js和Express框架,使用CoffeeScript作为主要语言来开发后端 使用AngularJS和Jade模板一起使用CeffeeScript作为主要语言来开发前端SPA。 我的问题是:我的两个select都是完全有效的吗?

如何在后端使用nodejs + express处理ajax / http-post请求(responsetype:arraybuffer)

情况:客户端js向nodejs express服务器发送一个jjax请求。 客户 xmlHttpRequest=new XMLHttpRequest(); xmlHttpRequest.open("POST","/some/server/path,true); xmlHttpRequest.responseType="arraybuffer"; xmlHttpRequest.send(new Uint8Array(arraybufferobject)); 服务器(到目前为止) var express = require('express'); var server = express(); server.use(express.static(__dirname)); server.use(express.bodyParser()); server.post('/goforms/modbus/',function(req,res,next){ //How to access the uint8array || arraybuffer ? }); server.listen(80); 我坚持在这一点上。 如何访问HTTP POST数据?