Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js util方法的firebase代码组织_Node.js_Typescript_Firebase_Google Cloud Functions - Fatal编程技术网

Node.js util方法的firebase代码组织

Node.js util方法的firebase代码组织,node.js,typescript,firebase,google-cloud-functions,Node.js,Typescript,Firebase,Google Cloud Functions,我的index.js如下所示 import * as functions from 'firebase-functions'; import * as rp from "request-promise-native"; import * as btoa from "btoa"; import * as admin from 'firebase-admin'; import * as SendGrid from '@sendgrid/mail'; admin.initializeApp(funct

我的index.js如下所示

import * as functions from 'firebase-functions';
import * as rp from "request-promise-native";
import * as btoa from "btoa";
import * as admin from 'firebase-admin';
import * as SendGrid from '@sendgrid/mail';
admin.initializeApp(functions.config().firebase)

export const dialog_handler = functions.https.onRequest(async (request, response) => {
    console.log("in dialog_handler request payload is:" + request.body.payload)
    const reqParams = JSON.parse(request.body.payload)

    const callbackId = reqParams.callback_id
    console.log(":::::::::::::::Callback Id:" + callbackId)
    const submission = reqParams.submission
    console.log(submission )
    let payload = {}

    if(callbackId === 'send_feedback'){
        await admin.database().ref("feedback").push(submission);
        payload = { "attachments": [
            {
                "fallback": "Feedback submitted",
                "title": "Feedback submitted. We will get back to you as soon as possible."
            }]
       }

    }
}
上述实际代码并不重要。主要的事情是下面的负载,这对我来说是一种可重用的代码。如何将其移出index.ts,并仅引用它并保持index.tx较小

 payload = { "attachments": [
                {
                    "fallback": "Feedback submitted",
                    "title": "Feedback submitted. We will get back to you as soon as possible."
                }]
           }

这实际上与云函数没有任何关系,而是与TypeScript模块语法和解析有关

您可以有一个相邻的文件
payload.ts
,如下所示:

export const payload = { "attachments": [{
                "fallback": "Feedback submitted",
                "title": "Feedback submitted. We will get back to you as soon as possible."
            }]
       }
然后,您可以从另一个文件获取其值:

import { payload } from "./payload"
你可能想好好读一读