与meteor的RiveScript

我想在Meteor项目中使用RiveScript。 我不能让事情运行。 我通过npm安装RiveScript,然后按照npm站点上的指南。

读取RiveScript模块并给它一个用户input的文件。

var RiveScript = require("RiveScript"); var bot; function loadingDone(files) { console.log("ok") } function loadingError(files, error) { console.log("error"); } Meteor.startup(function () { bot = new RiveScript({utf8: true}); bot.loadDirectory("brain", loadingDone, loadingError); bot.sortReplies(); }); Meteor.methods({ 'user-input': function (input) { return bot.reply("local-user", input); } }); 

我得到这个错误(在服务器上):

(STDERR)用户本地用户在一个空的主题名为“随机”

bot.reply()函数的返回消息是:

ERR:没有find默认主题“随机”!

       

网上收集的解决方案 "与meteor的RiveScript"

RiveScript作者在这里。

你的代码中的一个问题是,在完成加载之后(在loadingDone处理程序中)需要调用sortReplies()函数。

 var RiveScript = require("RiveScript"); var bot; function loadingDone(files) { console.log("ok"); bot.sortReplies(); } function loadingError(files, error) { console.log("error"); } Meteor.startup(function () { bot = new RiveScript({utf8: true}); bot.loadDirectory("brain", loadingDone, loadingError); }); Meteor.methods({ 'user-input': function (input) { return bot.reply("local-user", input); } });