我有一个Fay文件,这是我的程序的核心,但我需要一些帮助我的逻辑,例如,一个方法,以取代子字符串。据我所知,如果我需要由许多Haskell库直接提供的Haskell库,我不能使用那些Haskell库,但我必须在我的项目中复制粘贴代码。这就是我所做的,我与MissingH库中的其他助手一起在我的项目中的一个新文件: Utils.hs中复制了一个“替换”函数。
Utils.hs编译Fay时没有问题。此外,我将它导入到我的主Fay文件中,并为主项目文件获得一个JS文件,没有问题。然而,在运行时,我得到以下错误:
ReferenceError: Utils$$36$ is not defined我不认为Fay会在我的主JS文件中包含来自助手文件的代码,所以我在加载HTML中包含了两个JS文件。为了更好地确保加载主文件时,加载了utils文件,我会这样加载它:
$.getScript("Utils.js", function(){
$.getScript("FayConfig.js");
});但尽管如此,我还是会犯错误。我试着用“--库”编译Utils.hs,但是没有帮助。
所以我的问题是,我需要哪个设置来实现生成的JS将找到我在另一个HS文件中放入的助手函数,同时知道在编译时Fay (显然)发现它们没有问题?有这样的在线设置的例子吗?我发现的大多数Fay使用的都是一个单独的HS文件中的所有代码,尽管它们经常使用来自阴谋的外部Fay代码,比如fay-jquery。在我的例子中,仅仅为这些简单的帮手建立一个阴谋集团项目是过分的。
发布于 2013-08-24 22:24:30
您使用的是哪个版本的Fay (fay --version)?您所使用的版本似乎超过0.16,其中忘记import Prelude不会发出任何警告,请参阅这张封闭的票。因此,升级fay和/或添加import Prelude。
我们还在考虑在所产生的输出中重命名操作符,以使这样的错误消息更容易理解。
您不需要多次调用fay,fay将所有依赖项输出到同一个js文件中。因此,在这方面,使用阴谋包是没有区别的。
希望这有帮助,否则请给我一个方法来复制这个。
https://stackoverflow.com/questions/18422072
复制相似问题