Tag: function

从angular色2应用程序的Firebase云端函数发送mailgun电子邮件

我正尝试使用Firebase云端函数的Mailgun API来发送电子邮件。 我已经尝试在Cloud Function中实现相同的nodejs教程,但是我总是得到“错误:无法处理请求”。 请问我做错了什么。 云端函数代码如下: <pre> <code> var functions = require('firebase-functions'); var nodemailer = require('nodemailer'); var auth = { auth: { api_key: '###################', domain: 's###############g' } } exports.helloWorld = functions.https.onRequest((request, response) => { response.send("Hello from Firebase!"); }); var nodemailerMailgun = nodemailer.createTransport(auth); exports.sendEmail = functions.https.onRequest((request, response) =>{ //app.get('/', function(req, res) { test(); }); function test(){ […]

如何从基于对象的语言转移到服务器端Node.js JavaScript的大项目?

我决定习惯于使用Javascript作为我的服务器端(我使用Node.js)语言来设置一个networking服务器,创build服务器deamons和更多。 这是一个相当大的项目,这意味着我必须习惯于语言,并在实际开始避免开销和不必要的麻烦之前让自己达到最佳的设置。 我一直在寻找能够解释大型项目中函数式编程基础知识的源代码。 不幸的是,大多数消息来源只谈到在浏览器中用于简单技巧的基本Javascript。 两个有用的链接,解释了如何在Javascript中创build对象: http://howtonode.org/object-graphs和http://howtonode.org/object-graphs-2 。 最后,创build一个对象似乎是最明智的: function MyObject(constructorMemberOne, constructorMemberTwo) { this.constructorMemberOne = constructorMemberOne; this.constructorMemberTwo = constructorMembertwo; this.doSomething = function doSomething() { // } } 现在,我正在寻找一个完整的Javascript语言参考。 到目前为止, https://developer.mozilla.org/en/JavaScript/Reference似乎是最完整的。 Q1:这是推荐的ECMAScript语言参考? 我问的主要是因为它是由一个主要在浏览器行业工作的公司提供的,但是Javascript并不仅仅是浏览器 – 也许有一些我不知道的来源。 其次,我习惯于为每个创build的文件名称代表类的名称创build一个新的文件。 问题2:在JavaScript(V8,Node.js)中这个build议的做法是否也是这样? 如何“导入”这个类? 这个“导入”使我对Node.js的“require”感到困惑。 我知道这是不一样的。 需要基本上加载另一个文件,然后有它自己的命名空间,这意味着它的variables超出了需要这个文件的文件的范围。 然而,对于我的类,我希望有一个方法可用于“导入”类(引号,因为我不确定这是否可能)。 例如。: var utils = require("utils/MainUtils.js"); utils.doSomething(); 据我所知,这个doSomething()方法只有在像下面这样设置时才可用: function MainUtils() { exports.doSomething = function doSomething() { […]

Firebase云端函数中的参数HTTPS

如何在Firebase中的HTTPSfunction上设置一些参数? 我正在构build一个应用程序,并在构build应用程序的同时,成功地发展了我的邮件列表。 现在我想发邮件,但是我想确保在我发送任何东西之前他们可以退订。 我正在使用Firebase的一切,我已经设法做出一个函数发送邮件给每个订阅的邮件。 我也能够“取消订阅”一个特定的邮件,但是这是硬编码的,根本不是一个最佳的解决scheme。 exports.testUnsub = functions.https.onRequest((req, res) => { var db = admin.database(); var ref = db.ref("mailingList/-KhBOisltrOmv57Mrzus"); ref.child("subscribed").set(false); console.log("-KhBOisltrOmv57Mrzus has unsubscribed from mailing list."); }); 在我发送的邮件中有一个URL,它会触发这个HTTPS函数。 我想在该URL上设置一个参数,使其变成dynamic的。 就像是: https://us-central1-<project-id>.cloudfunctions.net/testUnsub?listID=xxxxxxxxxxx 我正在寻找任何可以让我走向正确方向的东西。

用于Firebase性能的云端函数

我正在使用Firebase的云端function来: 从api.ai接收参数 拨打第三方API和 回复api.ai. 我对第三方API的调用使用请求Node.js模块 ,并被包装在index.js中的一个函数( getInfoFromApi() )中。 我遇到的问题是次要函数调用的执行持续15-20秒。 注意:云端function本身在400毫秒范围内一直完成其执行。 通过简单的注释logging到控制台,我可以看到函数何时启动,何时调用了第二个函数,以及何时从第三方接收到响应,所以我想我可以看到发生了什么。 大致上,时间看起来像这样: 0:云端function初始化 400毫秒:云function完成 16 s: getInfoFromApi()函数被调用(!) 17秒:第三方API返回结果 我的问题: 是否有明显的原因延迟调用次要function? 这似乎不是由于冷启动问题造成的,因为云function很快就会出现,即使在重复呼叫之后延迟也是一致的。 使用“请求”节点模块导致问题? 有没有更好的模块来创build/pipe理云function的http请求? 你可以在这里看到index.js的一个简化的要点: https : //gist.github.com/anonymous/7e00420cf2623b33b80d88880be04f65 这里是抓取显示示例时间的Firebase控制台。 注意:输出与上面的代码略有不同,因为我简化了上面的代码以帮助理解。

Node.js将带有函数定义的对象发送给工作线程

所以我在Node.js的一个项目中工作,我想打开一些额外的线程来更有效地处理处理负载。 但是我正在使用带有函数定义的类,当我尝试将这些对象发送给工作线程时,对象中定义的函数就消失了,我只剩下对象中的其他字段。 有没有办法给工人发送一个对象,并保留这些function,以便在工人内部调用它们? var cluster = require('cluster'); if(cluster.isMaster){ Monster = function(species){ this.attack = function(){ console.log('CHOMP'); }; this.name = species; }; var vamp = new Monster('vampire'), worker = cluster.fork(); worker.send({'monster' : vamp}); } else{ process.on('message', function(msg) { console.log(msg.monster); //this logs "{ name: 'vampire' }" msg.monster.attack(); //TypeError: Object #<Object> has no method 'attack' }); }

Google云端函数包含私人图书馆

我正在寻找在节点编写自定义库,我想包括我的云function。 由于这是共享代码,我希望能够在所有云function中使用它。 编写共享代码库的最佳方法是什么,并且可以通过多个云function访问这些代码。 例如,假设我有两个云端函数,functionA和functionB。 我有一个名为“common.js”的节点JavaScript文件,它具有一个我希望公开给functionA和functionB的javascript函数。 exports.common = { log: function(message) { console.log('COMMON: ' + message); } }; 所以在函数中,我想要求这个文件,并调用“common.log('test');”。 我把这看作是最基本的问题,但我实在无法在任何地方find答案。 非常感激任何的帮助。 这实际上是阻止我使用GCF作为现在和将来开发代码的唯一方法!

将firebase数据节点导出为pdf报告

什么是使用Firebase作为后端的移动应用程序紧急消息系统。 当一个紧急事件结束时,我想捕获一个pdf文件的消息日志。 我一直无法find任何与Firebase合作的报表编辑器。 这意味着我可能不得不导出到php的MySQL。 Firebase php SDK看起来对于这个任务来说太过矫枉过正了。 我一直在googling php从firebase获取和大多数的响应与使用Firebase的PHP SDK。 这是唯一可以实现的方式吗?

从另一个云function调用云function

我正在使用云端函数在免费的Spark层次上调用另一个云端函数。 有没有特殊的方法来调用另一个云端function? 或者你只是使用标准的HTTP请求? 我曾尝试直接调用其他函数,如下所示: exports.purchaseTicket = functions.https.onRequest((req, res) => { fetch('https://us-central1-functions-****.cloudfunctions.net/validate') .then(response => response.json()) .then(json => res.status(201).json(json)) }) 但是我得到错误 FetchError:请求https:// us-central1-functions- ****。cloudfunctions.net/validate失败,原因:getaddrinfo ENOTFOUND us-central1-functions – *****。cloudfunctions.net us-central1-functions – ***** cloudfunctions.net:443 这听起来像firebase阻止连接,尽pipe它是一个谷歌拥有,因此它不应该被locking Spark计划只允许向Google拥有的服务发送出站networking请求。 如何使用云端函数调用另一个云端函数?

为什么这个JavaScript代码(RequireJS和Node.js的模块模式)工作?

由于我对RequireJS和Node.js的理解有限(通常加上JavaScript),我通常会看一些知名的JavaScript库的来源。 每当我看到这样的事情: ( // Wrapping function (root, factory) { if (typeof exports === 'object') { // Node.js var underscore = require('underscore'); var backbone = require('backbone'); module.exports = factory(underscore, backbone); } else if (typeof define === 'function' && define.amd) { // Require.JS define(['underscore', 'backbone'], factory); } }(this, function (_, Backbone) { // Factory function, the implementation […]

无法在多个文件中拆分Firebasefunction

我正在使用firebase函数,并且到达了数百个函数,现在很难在单个index.js文件中进行pipe理,如大量示例中所示 我试图分割多个文件中的function,如: –firebase.json –functions –node_modules –index.js –package.json –app –groupFunctions.js –authFunctions.js –storageFunctions.js 在这个结构中,我将我的函数分为三类,并放入了三个文件groupFunctions.js , authFunctions.js和storageFunctions.js 。 然后我试图在index.js导入这个文件,但我不知道为什么它不适合我。 这里是groupFunctions.js var functions = require('firebase-functions'); module.exports = function(){ exports.onGroupCreate = functions.database.ref('/groups/{groupId}') .onWrite(event => { console.log(`A group is created in database named:${event.params.groupId}.`); // some logic… //… }) } 这里是index.js文件: var functions = require('firebase-functions'); module.exports = require("./app/groupFunctions")(); 我的编辑没有在这个代码中给出任何警告。 但是,当我部署这个代码与firebase deploy –only […]