Nodejs Wit.ai - 将自定义操作分解为单独的模块

时间:2016-05-10 16:15:34

标签: node.js wit.ai

我正在寻找采取行动对象的一些帮助(例如):

const actions = {
    say(sessionId, context, message, cb) {
        console.log(message);
        cb();
    },
    merge(sessionId, context, entities, message, cb) {
        cb(context);
    },

    GetLocation(sessionId, context, cb) {
        console.log("location = san luis obispo");
        cb(context);
    },

    error(sessionId, context, err) {
        console.log(err.message);
    },
};

并将它们分解为单独的模块文件。我的自定义操作将非常复杂,我不想创建一个混乱的文件...我不是一个nodejs专业版,所以任何帮助都会很棒!

谢谢!

1 个答案:

答案 0 :(得分:1)

只需创建另一个js文件导出它,并导入到你想要的位置,例如,有很多方法可以做同样的事情。

customActions.js

'use strict';

const GetLocation = (sessionId, context, cb) => {
    console.log("location = san luis obispo");
    cb(context);
};

const API = {
    GetLocation,
};

module.exports = API;

并导入您的文件

const customActions = require('./customActions.js'),

const actions = {
    say(sessionId, context, message, cb) {
        console.log(message);
        cb();
    },

    merge(sessionId, context, entities, message, cb) {
        cb(context);
    },


    GetLocation: customActions.GetLocation

    error(sessionId, context, err) {
        console.log(err.message);
    },
};