在Firebase函数的src/index.ts
文件中,用于我的dialogflow和google action的代码如下:
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
文件中导出每个意图以与{{1 }}
任何想法都会受到赞赏
答案 0 :(得分:1)
作为TypeScript程序员,对于我来说,这是一个理智的组织,拥有一组TypeScript文件,每个文件都可以访问app
以添加自己的意图。我避免了index.ts
之外的副作用以及模块之间的循环依赖。 (也许熟悉Dialogflow或Google上的操作的人会有他们自己的建议。)
// 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);