我在Meteor上使用第三方库meSpeak.js。我之前没有遇到任何问题,但现在当我尝试从public / mespeak_config.json加载Config数据时,它给了我一个错误。
当我运行" meSpeak.loadConfig(" mespeak_config.json");"无论我在哪里尝试,它都会给我一个错误。在控制台中,它表示" Uncaught SyntaxError:Unexpected token<" (在Chrome中),或者#34; SyntaxError:JSON.parse:在Firefox中的JSON数据"的第1行第1列的意外字符;当我导航到错误时,它位于<!DOCTYPE html>生成的HTML文件。
同样,meSpeak.js在此项目(或任何项目)之前从未向我提供此错误,而且我不明白为什么现在这样做。
当页面加载(然后是一些)时,我执行ready()函数:
$(window).load(function() {
setTimeout(function() {
ready();
}, 3000);
});
在ready()函数的顶部,我包含了meSpeak加载函数:
meSpeak.loadConfig("mespeak_config.json");
meSpeak.loadVoice("voices/en/en-us.json");
这些没有加载。当我在JavaScript控制台中执行它们时,它们不会加载。
如果我尝试使用meSpeak,我会得到"没有加载配置数据,推迟通话。"在控制台中。
我的问题在哪里?
答案 0 :(得分:5)
@apendua说“你确定这些文件实际存在于你的公共目录中吗?我还建议在路径前加上/以确保它永远不会被视为相对路径。”
我通过在文件路径前加上“/”来解决我的问题。我不明白为什么它早些起作用并且以后停止工作,但这解决了它。