Node.js 流星河
我想在流星项目中使用RiveScript。不过,我不能让事情顺利进行。我通过npm安装RiveScript,然后按照npm站点上的指南进行操作 读取RiveScript模块并为其提供用户输入的文件Node.js 流星河,node.js,meteor,npm,Node.js,Meteor,Npm,我想在流星项目中使用RiveScript。不过,我不能让事情顺利进行。我通过npm安装RiveScript,然后按照npm站点上的指南进行操作 读取RiveScript模块并为其提供用户输入的文件 var RiveScript = require("RiveScript"); var bot; function loadingDone(files) { console.log("ok") } function loadingError(files, error) { cons
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)用户本地用户位于名为“random”的空主题中
bot.reply()函数的返回消息为:
错误:未找到默认主题“随机”
这里有一位作者 代码中的一个问题是,在应答完成加载后(在
loadingDone
处理程序中),需要调用sortReplies()
函数
var-RiveScript=require(“RiveScript”);
var-bot;
函数加载完成(文件){
控制台日志(“ok”);
bot.sortReplies();
}
函数加载错误(文件、错误){
控制台日志(“错误”);
}
Meteor.startup(函数(){
bot=新的RiveScript({utf8:true});
加载目录(“brain”、加载完成、加载错误);
});
流星法({
“用户输入”:函数(输入){
返回bot.reply(“本地用户”,输入);
}
});代码>我的问题是由目录引起的。我无法从JS文件中找出相对路径,现在我只使用绝对路径。