我真的很难开始使用FunScript,我真的很喜欢F# -> Javascript的想法,但是对于如何使用这些漂亮的技术的大量信息/文档总是感到沮丧。
问题是:
FunScript项目(不托管)模板无法安装,因为:“您需要安装Nuget”,VS说,当我尝试下载它时。// Dah, I do have Nuget and just updated it to latest release. I'm using VS2013 Ultimate.
我做了以下工作:
我创建了一个新的FSharp库项目,然后运行Package命令来获得所需的FunScript库:
PM> Install-Package FunScript
效果不错,但后来。。。当我查看一个FunScript示例时,我看到了程序中的open FunScript.TypeScript
,当我键入这个示例时,它目前并不存在,因为它说TypeScript是没有定义的,而查看示例FunScript.TypeScript可以使用jQuery并与DOM交互。所以没有它,我在这里什么也做不了
我确实注意到了FunScript的Nuget上的第三方库,即:
FuncScript.TypeScript.Bindings.(lib|jquery)
但我不能在“开放名称空间”语句中引用这些内容。
最后,必须有一个"do Runtime组件.“在节目结束的时候。这也是“未定义”。
你们有一个完整的FunScript示例吗?(我已经搜索了很多网站,我看到的程序对我没有用)
发布于 2013-11-24 11:52:30
不好意思,这个项目在文档方面还是有点薄弱。我们将尽快改善这一状况。
我现在已经更新了FunScript Visual Studio Project Template,以删除NuGet Package依赖项。在v1.1.0.15
中,它应该在Visual 2013上工作。注意:您可能需要构建两次才能正确地还原NuGet包。
您只获得主F#包中的基本JS编译器(以及一些FSharp.Data类型提供程序映射)。如果您想通过JavaScript绑定访问TypeScript,则必须添加对您提到的“绑定”包的引用。
这些包的名称实际上并不反映程序集中的任何命名空间。目前,它们将类型导入全局命名空间(即,它们应该在intellisense中可用而不打开任何名称空间)。除非TypeScript包含模块,否则函数和类型将映射到相应的.NET命名空间。
例如,Globals.alert(message)
应该在您添加了FunScript.TypeScript.Binding.lib
NuGet包之后进行类型检查。
请注意,为了避免污染全局命名空间,我们将来可能会将这些定义全部移到FunScript.TypeScript
名称空间中。
示例中的do Runtime.Run(components)
调用实际上只是一个助手方法。我们可能应该从例子中删除这一点,因为它使许多人感到困惑。您真正需要的唯一方法调用是Compiler.Compile(<@ main() @>, noReturn = true)
,它编译引号并返回一个JavaScript字符串。然后由用户来决定如何使用这个JavaScript (例如,将它放在一个托管页面中)。
当我发布另一个名为FunScript的项目时,我将添加更多关于使用HashBang的文档,该项目利用FunScript构建可爬行的动态网站。这将包括逐步使用HashBang/FunScript构建和部署的教程。
发布于 2014-01-31 00:35:50
我进入得很顺利..。
使用2013 (专业),带有普通的"FunScript -非宿主“项目模板(由Zach编写),可通过在线项目搜索找到。
然后添加相关的FunScript绑定包(通过NuGet)。我添加了一些解决方案: FunScript.TypeScript.Binding.jquerymobile和FunScript.TypeScript.Binding.phonegap
您可以在GiHub (https://github.com/ZachBray/FunScript/tree/master/src/samples/EasyGettingStarted)上看到我的几个示例。您所需要做的就是替换默认项目中的Program.fs (FunScript -非宿主)。然后把剩下的文件加进去。我正在使用一些Zach Bray代码作为基础。请参阅上面链接上的自述文件。
如果您安装了MS 2013,您应该有5-10分钟的体验。我正在提交更多的例子。我推荐Funscript。
发布于 2015-04-17 11:22:34
根据上面Zach的建议,我为OSX和Xamarin Studio创建了一个工作(至少编写时间)示例项目:
https://github.com/mfrawley/Funny
我发现安装过程是完全不直观的,但是现在它正在工作,并且看到了大量可用的NuGet包,我非常兴奋地看到这件事是如何发展的。
https://stackoverflow.com/questions/20169793
复制相似问题