在Node.js上的typescript文件之间拆分Google意图上的操作

在Node.js上的typescript文件之间拆分Google意图上的操作,typescript,google-cloud-functions,dialogflow-es,actions-on-google,Typescript,Google Cloud Functions,Dialogflow Es,Actions On Google,在我的dialogflow+google操作的firebase函数的src/index.ts文件中,我有如下代码: import * as functions from 'firebase-functions'; import { dialogflow, Suggestions } from 'actions-on-google'; const app = dialogflow({debug: true}) app.intent('Default Welcome Intent', conv =

在我的dialogflow+google操作的firebase函数的
src/index.ts
文件中,我有如下代码:

import * as functions from 'firebase-functions';
import { dialogflow, Suggestions } from 'actions-on-google';

const app = dialogflow({debug: true})
app.intent('Default Welcome Intent', conv => {
conv.ask('Question')
});

exports.dialogflowFulfillment = functions.https.onRequest(app);
我想将每个意图拆分为它自己的TS文件(因为我打算有很多),但我不知道如何从单独的
.TS
文件导出每个意图,以便与
应用程序进行交互


如果您有任何想法,我将不胜感激。

作为一名TypeScript程序员,我认为这是一个明智的组织,它拥有一组TypeScript文件,每个文件都可以访问
应用程序
,添加自己的意图。我避免了
index.ts之外的副作用和模块之间的循环依赖。(也许熟悉Dialogflow或谷歌操作的人会有自己的建议。)

//app.ts
从“google上的操作”导入{dialogflow};
导出函数createApp(){
返回dialogflow({debug:true});
}
导出类型App=ReturnType;
//意图1.ts
从“/App”导入{App};
导出功能插件1(应用程序:应用程序){
app.intent('默认欢迎意图',conv=>{
conv.ask(‘问题’)
});        
}
//索引
从“firebase函数”导入*作为函数;
从“/app”导入{createApp};
从“/intent1”导入{addIntent1};
const-app=createApp();
附件1(应用程序);
exports.dialogflowFulfillment=functions.https.onRequest(应用程序);
// app.ts
import { dialogflow } from 'actions-on-google';

export function createApp() {
    return dialogflow({debug: true});
}
export type App = ReturnType<typeof createApp>;

// intent1.ts
import { App } from "./app";

export function addIntent1(app: App) {
    app.intent('Default Welcome Intent', conv => {
        conv.ask('Question')
    });        
}

// index.ts
import * as functions from 'firebase-functions';
import { createApp } from './app';
import { addIntent1 } from './intent1';

const app = createApp();
addIntent1(app);

exports.dialogflowFulfillment = functions.https.onRequest(app);