Articles of javascript

直接到s3 /客户端file upload。 用这种方法是否存在将未使用的文件存储在s3存储桶中的问题?

我正在查看由heroku(对于NodeJs应用程序)build议通过服务器签署s3文件的这个教程,然后直接从客户端处理上传: https://devcenter.heroku.com/articles/s3-upload-node 我想知道很多未使用的文件存储在s3存储桶中的可能性。 在heroku教程中,他们运行一个用户编辑场景。 他们指出: 当用户select要上传的图像时,上传到S3的处理将自动与本文前面介绍的过程asynchronous处理。 一旦上传完成并成功,图像预览会随着所选图像而更新。 然后用户点击“提交”button,该button将上传图像的用户名,名称和URL发布到要检查和/或存储的节点应用程序。 如果之前没有用户上传图片,则会发布默认的头像图片url。 那么,如果用户select图像,然后点击另一个页面而没有完成并提交用户configuration文件信息呢? 这只是一个浪费的文件存储在你的s3桶? 我在我的平均应用程序中使用类似的方法,在提交: 我上传文件到S3。 然后,承诺,一旦上传完成,我提交用户的个人资料信息/岗位s3的url到服务器。 我有一个类似的担心,如果用户离开之前承诺调用或有连接问题 – 是否有存储未使用的文件的问题? 这是处理这个问题的典型方式吗?这只是风险的一部分?

Node.js:forEach包含Promise在承诺完成之前完成

我试图返回一个结果(feedItemsArray)只有在forEach循环内的所有承诺都满足,但代码在所有承诺返回之前执行。 什么是确保所有承诺事先被返回的正确方法? function retrieveFeed(req, res) { return FeedItem.find().exec() .then(function(feedItems) { var feedItemsArray = []; feedItems.forEach(function(feedItem){ // Do some stuff on feedItem return Comment.find({feedItem_id : feedItem._id}).exec() .then(function(comments){ // Do some stuff on comments return feedItemsArray.push(feedItem); }) }) return prepareJSONObject(feedItemsArray); }) .then(handleEntityNotFound(res)) .then(respondWithResult(res)) .catch(handleError(res)); }

package.json实际上在JSON中,而不仅仅是JavaScript

我继续在我的Heroku日志中获得这个“npm ERR!package.json必须是实际的JSON,而不仅仅是JavaScript”。 这里是我的package.json文件,我认为直到现在,它才是正确的JSON。 请帮忙。 { "name": "GWC-Final-Project", "version": "0.0.0", "private": true, "description": "Girls Who Code web-app", "main": "web.js" }{ "dependencies": { "body-parser": "~1.15.1", "cookie-parser": "~1.4.3", "debug": "~2.2.0", "express": "^4.10.2", "hbs": "~4.0.0", "morgan": "~1.7.0", "serve-favicon": "~2.3.0", "socket.io": "^1.4.8" } }

模拟本地存储以testing两种方法的function/覆盖

以下代码使用本地存储工作正常,我想为它创buildunit testing的问题是,我在这个函数中使用本地存储 这是我想testing的function open: function(url) { var that = this; if (!localStorage.getItem(“alert”)) { that_run(url) .then(function(isBlocked) { if (isBlocked) { that._notify(); localStorage.setItem(“alert”, true); } else { localStorage.setItem(“alert”, true); that._exe(“page”,url) } }).done(); } else { that._exe(“page”,url) } }, 这是正在工作的testing,但我认为重写窗口是不好的做法和我的问题,如果我能写这个testing更好? it.only("test for open", function () { var url = "http://mytesturl”; winlocalStorage.getItem = function(){ return false; }; var oSimulateSpy […]

如何使用Gmail的Node.js API设置收件人

尽pipe看起来很简单,但似乎无法弄清楚如何使用Google的Gmail API设置草稿的收件人。 该文档说,一个users.messages Resource对象包含一个payload对象,其中包含一个headers对象,该headers对象包含名称 – 值对。 // example from google's gmail API documentation "payload": { "partId": string, "mimeType": string, "filename": string, "headers": [ { "name": string, "value": string } ], "body": users.messages.attachments Resource, "parts": [ (MessagePart) ] }, 这是在这些标题,我认为你设置草稿的“到”的一部分,因为文件说 此消息部分的标题列表。 对于表示整个消息负载的顶级消息部分,它将包含标准的RFC 2822电子邮件标题,如To,From和Subject。 然而,当我提出这样的请求时, "payload" : { "headers" : [ { "name" : "To", "value" : […]

node-serialport不会列出也不检测连接到笔记本电脑的USB设备

我正在使用Electron和node-serialport构build一个应用程序,并且我没有将USB设备连接到笔记本电脑(例如:鼠标,扬声器) 我正在使用这个代码: var SerialPort = require('serialport'); SerialPort.list(function (err, results) { if (err) { throw err; } console.log("Number of results : " + results.length); }); 输出Number of results : 0 。 当我检查我的Device Manager : 这是我的configuration: 电子 : 1.4.5 SerialPort版本 : 4.0.5 NodeJS版本 : 6.9.1 操作系统和硬件平台 : Windows 8.1 / 64 bits

需要参数

我想从app.js文件分离我的路线。 login路线需要一个Firebase实例。 路线/ auth.js var express = require('express'); var router = express.Router(); module.exports = function(firebase) { … } module.exports = router; app.js var firebase = require('firebase'); var config = { … } firebase.initializeApp(config); var auth = require('./routes/auth')(firebase) app.use('/admin', auth) 当我启动服务器,它给了我一个TypeError: Cannot read property 'indexOf' of undefined错误TypeError: Cannot read property 'indexOf' of undefined … 它指向app.js中的require语句: var […]

Mongoose保存返回正确的保存对象,但不保存到数据库

我正在做一个findOne,然后保存。 这是覆盖以前的保存对象。 问题是保存res.json()在我的callback后返回正确更新的数据(又名myObject修改通过我的for循环)。 但是“保存”似乎并没有实际发生,因为数据库仍然显示myObject在旧状态。 var pathList = [{id:'x',url:'#'}]; MyObjects.findOne({'_id': _id}, function(err, myObject) { // for ( var i in myObject.body.module ) { for (var j = 0; j < pathList.length; j++ ) { var id = pathList[j].id; myObject.body.module[i].channel[id].buffer = { url:pathList[j].url }; } } // myObject.save(function(err, data) { if (err){ res.json({'response':'Error in saving track: '+err}); […]

用express发送整个文件夹内容给客户端

我做了一个html5游戏(使用GameMaker),它由一个index.html和一个包含游戏依赖关系的文件夹“html5game”组成 – javascript代码和资源。 问题是资源是相当多和多样的(声音,精灵等)和客户需要他们都玩。 我正在寻找一种方法来发送它们,而不是专门命名它们。 我试过了glob模块: var glob = require( 'glob' ); var files = glob.sync( './html5game/**' ).forEach( function( file ) { require( path.resolve( file ) ); }); 但我无法想出一个方法来发送文件使用res.sendFile()一旦我这样做。 我试过了 var express = require('express'); var app = express(); […] app.get('/aeronavale/jeu', function(req, res){ res.sendFile(__dirname + '/aeronavale/index.html'); res.sendFile(files) }); […] app.listen(3000, function(){ console.log('app started on port 3000, […]

如何将IST时区中的某个时间转换为北维吉尼亚时间

11-10-2016 11:31:51 // Is in IST 我想把上述时间转换成北弗吉尼亚州的等值时间,因为我的AWS服务器设置在北弗吉尼亚州。