节点JSasynchronousPromise.All问题

我试图从列表中的一堆项目执行asynchronous例程,但是我很难理解promise.all是如何工作的以及它做了什么。 这里是我现在使用的代码: /** * Queues up price updates */ function updatePrices() { console.log("~~~ Now updating all listing prices from Amazon API ~~~"); //Grabs the listings from the database, this part works fine fetchListings().then(function(listings) { //Creates an array of promises from my listing helper class Promise.all(listings.map(function(listing){ //The promise that resolves to a response from the routine […]

减less生产的node_modules的大小

我们的部署过程需要很node_modules ,部分原因是将node_modules文件夹传递给生产服务器。 我的Package.json看起来像这样: { "name": "coms-sass", "version": "0.0.1", "description": "Sass gulp task for COMS Service Portal", "main": "gulpfile.js", "dependencies": { "angular": "^1.5.5", "angular-sanitize": "=1.5.5", "angular-ui-bootstrap": "^1.3.2", "gridster": "^0.5.6", "gulp": "^3.9.0", "gulp-jshint": "^2.0.0", "gulp-sass": "^2.0.4", "jasmine-core": "^2.4.1", "jquery": "^2.2.3", "jquery.cookie": "^1.4.1", "jshint": "^2.9.1", "jshint-visual-studio": "^1.0.1", "karma": "^0.13.22", "karma-chrome-launcher": "^0.2.2", "karma-phantomjs-launcher": "^1.0.0", "karma-requirejs": "^0.2.6", "lodash": "^4.6.1", "moment": […]

蓝鸟 – 如何早日打破承诺链

PromiseA().then(function(dataA){ if (dataA.foo == "skip me") return ?? //break promise early – don't perform next then() else return PromiseB() }).then(function(dataB){ console.log(dataB) }).catch(function (e) { //Optimal solution will not cause this method to be invoked }) 如何修改上面的代码来提前中断(然后跳过第二个())?

是防止在nodejs安全的开放redirect攻击?

我试图阻止打开redirect攻击。 请看下面的代码并检查安全性: var = require('url'); // http://example.com/login?redirect=http://example.com/dashboard app.route('/login', function (req, res, next) { var redirect = req.query.redirect, paths = url.parse(redirect); if (paths.host !== req.headers.host) { return next(new Error('Open redirect attack detected')); } return res.redirect(redirect); }); 防止打开redirect攻击是否足够?还是应该添加其他内容?

节点JS将variables传递给Jade / Pug

出于某种原因,我不能通过节点JS传递一个variables到帕格模板。 app.get("/", function (req, res) { res.render('index', { hello : 'Hey'} ) }) …. extends layout.pug block content h1 #{hello} guy 这只是返回index.html文件中的“家伙”

使用ES6导入+导出关键字和Babel导入/导出Express路由器

我有一个旧的testing项目,最初用Express 2.X构build。 我将它移动到Express 4.x并尝试插入Babel 6.x以使用服务器端的ES6function进行实验。 Express 4.x的更新正常。 原来的应用程序工作正常。 当我开始添加ES6function时出现问题。 特别是,我想用ES6 import {…} from…replace所有require和module.export指令,并且export {…} 。 问题:我似乎无法将外部文件的路由导入到主要的app.js文件中。 我的app.js像这样加载路由: import { indexRoute } from './routes/index_route'; app.use('/', indexRoute); 在index_route.js里面我有: "use strict"; import express from 'express'; var router = express.Router(); router.get('/', function(req, res, next) { res.render('index_view', { title: 'Express' }); }); export { router } 这个源代码对于Babel是可以的,但是在启动时节点抱怨: Router.use() requires middleware […]

对象解构的任何方面是通过引用分配的吗?

我有一个程序是递增会话cookie上的请求,并将其打印到控制台。 最初,我试图弄清楚如何保存这些数据。 login几个地方后,我意识到,尽pipe我有一个单独的variables来保存我认为是req成员对象的临时版本的数据正在保存/更改。 这是使我意识到实际的对象正在改变时,我增加了我分配给它的variables的代码: recordRequest(req) { const { ip } = req.info; const { requestsPerSecond } = req.session; if (req.originalUrl.split('/').filter(Boolean)[0] == 'www.example.com') { requestsPerSecond[ip] = requestsPerSecond[ip] + 1 || 1; } console.log(req.session.requestsPerSecond); } 我似乎无法在这里或在Mozilla的文档中find这是否是有意的行为,不pipe这是否是我使用const的结果(在这里你可以改变成员variables),或者有一些奇怪的错误正在进行。 我也有麻烦重现这个例子在一个较小的规模,但我证实没有进入或走出function正在影响这一块代码。 这不是打破我的代码或任何东西(这实际上使我的生活更容易),但我想明白为什么发生这种情况!

如何设置永久运行的NodeJS的内存限制

我正在运行我的节点JS过程永远如下: sudo永远启动-o out.log -e error.log myServer.js 我想改变我的NodeJs服务器的内存限制 ,因为当我纯粹使用节点运行它时,会像下面这样做。 节点–max-old-space-size = 512 myServer.js 当我永远运行它时,我怎么能做到这一点? 有没有像'永远的开始 – 最大旧空间大小= 512'

自动对焦禁用的字段,将在一定的条件后启用

我有两个input字段,如下图所示。 我正在尝试着重于现在禁用的下一个字段,但是在第一个字段中input字符的最大长度后,它将被启用。 启用后,我希望光标自动在下一个字段。 我使用的代码如下: .directive('moveNext', function(){ return{ restrict: 'A', link: function($scope, element){ element.on("input", function(e){ if((element.val().length==element.attr("maxlength"))){ console.log('asdfasdf'); var tabindex = 1; var $nextelement = $('input[tabindex='+(tabindex+1)+']'); console.log($nextelement); if($nextelement){ console.log('asdf'); $nextelement.focus(); } } }); } } });

如何使用nodejs从系统获取本地时区

有没有办法从系统(例如: – Ubuntu的)使用nodejs获得本地时区? 我使用了moment.js来提取date和时间值。 但是找不到提取时区的方法。