Tag: 表示

如何在快递4上发送承诺的收益作为stream?

我有什么办法可以把承诺作为一种传承的结果吗? 在某些情况下,JSON有效负载将是巨大的,将它作为一个stream发送是有道理的。 function aPromise() { // result of a postgres query. Using `pg` return Promise.resolve([ {key1: val1, key2: val2 } ]); }); } //express 4 router let wrap = require('co-express'); router.get('/', wrap(function* (req, res, next) { let payload; try { payload = yield aPromise(); } catch (e) { return next(e); } res.json(payload); }));

如何使参数化的Express路线有或没有尾部反斜杠?

我有一个非常简单的应用程序,将始终使用以下URL结构进行访问: www.myapplication.com/some/deep/nested/1234567890/ 1234567890是用户的帐号,每个用户可能不同。 目前,如果最后一个反斜杠停止,则无法访问应用程序: www.myapplication.com/some/deep/nested/1234567890 实际上,如果通过以下方式访问应用程序,url将发生变化: www.myapplication.com/1234567890 鉴于以下在我的app.js中: app.use('/', api); app.use('/:user', express.static(path.join(__dirname, 'dist'))); 在哪里api是一个简单的快速路由器本身,我的React应用使用jQuery使用req.params中的用户号码调用,我怎样才能让应用程序访问使用后面的反斜杠或不? 我已经尝试了各种方法,如: app.use('/:user/?', express.static(path.join(__dirname, 'dist'))); 要么 app.use(express.static(path.join(__dirname, 'dist'))); 后者阻止url被截断,但只能在没有用户帐号的情况下工作,这显然是必要的: www.myapplication.com/some/deep/nested/ 如果我访问www.myapplication.com/some/deep/nested/1234567890或www.myapplication.com/some/deep/nested/1234567890/ URL不被截断,但我得到Cannot GET /1234567890或Cannot GET /1234567890/ 。 我也试过洗牌,无济于事: app.use('/:user', express.static(path.join(__dirname, 'dist'))); app.use('/', api);

在node.js + express中实现依赖select列表

我是新来的node.js和expression。 我正在写一个node.js应用程序与快递和express-handlebars作为我的模板框架。 我想实现一个依赖的select列表,它将根据另一个select列表的select值来呈现。 到目前为止,这是我的: 这是我的家长领料单 <select id="buildingsSelect" class="building-select-add "name="residentBuildings"> {{#each buildingRows}} <option value="{{idBuildings}}" name={{Name}}>{{Name}}</option> {{/each}} </select> 当用户select一个build筑物时,我做了一个ajax请求, $('.building-select-add').change(function(){ var buildingId = $('.building-select-add').val(); $.ajax({ type: 'post', url: '/resident_add/' + buildingId, success: function(data) { location.reload(); }, error: function(err) { console.log('———— Error while updating this resident: ' + err); console.log('———— Error while updating this resident: ' + err.message); […]

多个SPA与node.js和AngularJS

为大型企业项目提供多个AngularJS SPA和单个node.js应用程序是否有意义? 即家庭,login和用户是快速路线和儿童/部分将被路由在AngularJS SPA。 这样我就可以将静态内容(js,css ..)分解为更小的包/文件,控制公共内容(对后端内容进行身份validation),更均匀的服务器负载等。 /家 /关于 /联系 /产品 /login /login /寄存器 /重设密码 /用户 /列出所有 /细节 /创build 。 。 。

如何在Jsonwebtoken中忽略一些请求types

我想忽略一些使用令牌authentication进行检查的API URL 我想保护post,并把方法,但没有得到这个url 本地主机:3000 / API /事件/ router.use(function(request, response) { var token = request.body.token || request.query.token || request.headers['x-access-token']; if (token) { jwt.verify(token, app.get(superSecret), function(err, decoded) { if (err) return response.json({ sucess: false, message: "Failed token Authentication" }); else { request.decoded = decoded; next(); } }); } else { return response.status(403).send({ success: false, message: 'No token […]

Reactjs req.body显示

我在ReactJs中有一个http put函数,看起来像这样 UpdateItem: function(_id) { var input = this.refs.myInput; $.ajax({ url: 'http://localhost:3000/update/' + _id, type: 'PUT', data:input, cache: false, success: function(result) { console.log(data); window.location.reload(); } }); } 它需要一个input,它应该发送新的值与请求,但它永远不会 <input ref="myInput" type="number" name="quantity" min="1" max="10" defaultValue={item.quantity} className="form-control"/> 当我看着控制台req.body显示这个[对象对象],我在节点中的put函数看起来像这样 app.put('/update/:_id', function(req, res) { console.log(req.params); console.log("your req is" +req.body); Cart.findByIdAndUpdate(req.params.id, { quantity: req.body.quantity }, function(err, product) { if […]

意味着与angular2堆栈应用程序

我试图得到一个MEAN堆栈应用程序工作,但使用Angular 2而不是Angular 1(我已经做了,虽然这是一段时间)。 我有快速应用程序工作,并运行在端口3000.我的Angular 2应用程序也可以很容易地起床和运行,但运行(现在)在端口8080。 我知道,我想要的是整个应用程序运行在一个快速服务器上,它服务于主布局,然后是内部运行的Angular,但我不确定最好的方式去做。 而不是复制每个文件在这里, 这里是一个链接到所有提交的存储库 。 克隆回购,运行npm install && bower install ,然后在一个terminal窗口gulp serve和第二个窗口npm start 。 任何帮助去哪里从这里将不胜感激。

如何使用express从不同的中间件中获取响应对象的数据

可能是这个愚蠢的问题.. :)有些可以帮助我从响应对象获取数据。 基本上我想用express来validation我的响应数据 app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use('/', function(req, res, next){ console.log('entry point'); res.json({name:"somename",age: 29}); next() }); var middleware = function (req, res, next) { console.log('LOGGED'); res.end = function (req, res , next) { var data = res.data; //do some validation logic here next() }}; app.use(middleware); var port = process.env.PORT || 10010; app.listen(port);

express-handlebars如何通过helper函数呈现JSON对象

var express = require('express'); var exphbs = require('express3-handlebars'); var app = express(); var hbs = exphbs.create({ // Specify helpers which are only registered on this instance. helpers: { foo: function () { return 'FOO!'; }, bar: function () { var data = { user:[ {name: "foo"}, {pass: "bar"} ] }; return data; } } }); […]

在节点快递站点的Stormpathvalidation和授权后保留查询string

我有一个节点快递应用程序,使用express-stormpath进行身份validation/授权我有一个GET路由与某些jquery参数调用。 如果用户login,所有事情都按预期工作。 如果没有显示用户login屏幕。 在stormpath身份validation和授权完成后,我的查询参数将丢失。 有什么办法保留这些吗? app.get('/myRoute', stormpath.groupsRequired(['admin']), function(req, res){ console.log('req.query ',req.query); //do somehting with the query data res.sendStatus(200); }); 在authenticationreq.query是{} 。 有任何想法吗?