Tag: 火力

Firebase和Express之间的核心区别是什么?

现在我正在探索如何使用Express和MongoDB编写API。 我也使用Angular做我的路线和意见。 我知道Firebase和AngularFire可以做到这一点,所以我可以绕过使用Express(或所以我认为),并让我的应用程序是实时的。 在Chris Esplin的这篇文章中,他表示他不能放弃Express,因为在使用他的npm包的“Quiver-Invoice”(包含Firebase,Stripe和MailChimp的Mandrill服务)时,他需要它来编写promise,而不是使用更简洁的代码。 在这个SOpost里 ,海报说他们需要使用Express&Node来发送电子邮件。 我认为这是不可能的,如果只使用Firebase与Angular。 另外我也看到人们在这里讨论身份validation和安全性差异方面的差异https://groups.google.com/forum/#!topic/firebase-talk/WF9gf–A3Qo 问题(S) 那么Firebase和Express之间的核心区别是什么? 是否有可能像我可以在Express + MongoDB中那样围绕Firebase构build一个API? 是否有可能(或很快就可以)像使用Express一样自定义Firebase服务器?

如何将file upload到Node.js中的GCloud?

我看到了什么: 与Google云端平台整合 使用Node.js将file upload到Firebase存储 感想: 我目前在本地存储图像,并将图像path存储在Firebase实时数据库中。 我想将图像存储在GCloud中(以降低成本)。 题: 我应该如何修改我现行的守则上传到GCLOUD? 当前代码: var express = require("express"); var router = express.Router(); var flash = require("connect-flash"); var firebase = require("firebase"); var multer = require("multer"); var upload = multer({dest:"./public/images/uploads/", limits: {fileSize: 250000}}).single("image"); router.get("/", function(req, res, next){ if (firebase.auth().currentUser == null) { global.page_name = "login"; res.render("users/login"); } else { global.page_name = […]

Firebase + Node.js:错误:未findXMLHttpRequest兼容性库

Firebase + Node.js 在iOS上: 安装了Node.js npm安装firebase – 保存 节点test.js 其中test.js是连接到Firebase的非常简单的脚本: var firebase = require("firebase/app"); require("firebase/auth"); var config = { … }; var app = firebase.initializeApp(config); // Works fine firebase.auth().signInWithEmailAndPassword(…); // Throws error 抛出的错误是 Error: The XMLHttpRequest compatibility library was not found. 我忽略了什么? 谢谢。

如何在节点中销毁firebase ref

如果我在节点中这样做: console.log('1'); console.log('2'); 输出: 1 2 过程结束。 如果我改变它: console.log('1'); var Firebase = require('firebase'); var ref = new Firebase('https://<some-base>.firebaseio.com/'); console.log('2'); 输出: 1 2 并继续进行下去。 我相信这是因为ref正在保持这个过程。 我知道我可以使用process.exit但我宁愿不这样做。 我实际上不希望进程退出,我只是想确保我没有内存泄漏问题,我的firebase ref永远持续。 一旦我完成它,有什么办法摧毁一个火力点参考?

在Heroku上为新的Firebase设置ElasticSearch上的Flashlight

我的目标是将Firebase与ElasticSearch连接起来,以便在iOS应用中search用户名时可以实现“like”查询。 从我读到的这个是最好的解决scheme,我想早点解决这个问题,以便可扩展而不是蛮横的。 为了实现这一点,我试图将Firebase开发人员为我们提供的手电筒应用程序部署到Heroku上,但是我很困惑如何去做。 请纠正我错在哪里,我对Heroku生态系统,ElasticSearch和nodejs相当陌生。 我目前有一个Heroku账户,并且在我的电脑(Mac)上安装了toolbelt和nodejs / npm。 我运行了以下命令: git clone https://github.com/firebase/flashlight cd flashlight heroku login heroku create heroku addons:add bonsai heroku config (我能用heroku config命令成功获得我的盆景url) 下一步是 heroku config:set FB_NAME=<instance> FB_TOKEN="<token>" 但是我不太了解FB_NAME(我的猜测是Firebase应用程序名称,不过是应用程序名称,还是由于新的Firebase安装程序不再是app_name.firebaseio.com , app_name-abc123.firebaseio.com )和什么是FB_TOKEN? (是我下载的plist中的一个关键或东西?)

TypeError:Firebase不是一个function

我正在尝试遵循firebase Node教程: https : //www.firebase.com/docs/web/quickstart.html 我的node.js应用程序崩溃与“TypeError:Firebase不是一个函数”错误。 我的index.js文件: var Firebase = require("firebase"); var firebaseRef = new Firebase("https://word-word-number.firebaseio.com/"); 第二行是崩溃发生的地方。 在我的package.json中我有: "firebase": "^3.0.2", 和 "node": "5.11.0"

为什么我的解决scheme如此之慢以及如何提高查询的性能?

目前我能够优化性能相当多,但它仍然有点慢:/ 最新编辑: 我目前的解决scheme(最快的ATM(但仍然缓慢),并保持秩序): 服务器 router.post('/images', function(req, res, next) { var image = bucket.file(req.body.image); image.download(function(err, contents) { if (err) { console.log(err); } else { var resultImage = base64_encode(contents); var index = req.body.index; var returnObject = { image: resultImage, index: index } res.send(returnObject); } }); }); 客户端查询 $scope.getDataset = function() { fb.orderByChild('id').startAt(_start).limitToFirst(_n).once("value", function(dataSnapshot) { dataSnapshot.forEach(function(childDataSnapshot) { _start […]

无法使用Firebase和ElasticSearch(使用手电筒)进行正确的path监控或查询

我正在尝试整合ElasticSearch和Firebase。 我正在使用来自Firebase的Flashlight集成来完成所有工作。 我已经将代码部署到了Heroku,如上面链接的Github repo中所述。 它的工作原理是当我插入查询objet到/search/request/我得到一个/search/response结果。 但结果有点乱,不正确。 但我无法弄清楚什么是错的。 这是config.js中定义要监视的path的内容: /** Paths to Monitor * * Each path can have these keys: * {string} path: [required] the Firebase path to be monitored, for example, `users/profiles` * would monitor https://<instance>.firebaseio.com/users/profiles * {string} index: [required] the name of the ES index to write data into * {string} type: [required] […]

在node.js服务器上validation客户端Firebase令牌

我正在使用express.js for REST和Firebase来实现一个node.js服务器来存储数据。 我已经阅读使用与Firebase的安全NodeJs ,它可以以这种方式实现,但在我的情况下,我需要发送数据到服务器和服务器必须返回一个redirect地址,所以使用firebase作为沟通渠道有点复杂。 目前,我正在通过发送Firebase身份validation令牌作为查询参数,并使用Firebase身份validation()方法检查授权来validation服务器上的客户端身份。 dataRef.auth(CLIENT_TOKEN, function(error) { if(error) { console.log("Login Failed!", error); } else { console.log("Login Succeeded!"); } }); 问题是,在服务器我也需要firebase的“pipe理员”权限。 为了实现这一点,我需要使用pipe理令牌使用Firebase身份validation()再次进行身份validation。 (由firebase-token-generator生成) var FirebaseTokenGenerator = require("firebase-token-generator"); var tokenGenerator = new FirebaseTokenGenerator(YOUR_FIREBASE_SECRET); var token = tokenGenerator.createToken({some: "arbitrary", data: "here"}); 我注意到在auth()方法中有一个限制: 请注意,所有对Firebase的引用都具有相同的身份validation状态。 因此,如果您调用两次新的Firebase()并在其中一个上调用auth(),则它们都将被authentication。 有没有办法实现这一点,而不是调用auth()两次? 还是有更好的解决scheme来做到这一点?

Firebase函数 – getaddrinfo ENOTFOUND api.sandbox.paypal.com

尝试使用PayPal-node-SDK向Paypal的API发出请求 exports.requestPayment = functions.https.onRequest((req, res) => { return new Promise(function (fullfilled, rejected) { paypal.payment.create(create_payment_json, {}, function (error, payment) { if (error) { rejected(error); } else { console.log("Create Payment Response"); console.log(payment); res.status(200).send(JSON.stringify({ paymentID: payment.id })).end(); fullfilled(payment); } }); }); }); 但我不断得到一个错误: Error: getaddrinfo ENOTFOUND api.sandbox.paypal.com api.sandbox.paypal.com:443 at errnoException (dns.js:28:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26) 我试过的东西: 请求一个完全不同的主机,仍然ENOTFOUND […]