QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

Fable:将 F#转译成 JavaScript

  • 2016-08-25
  • 本文字数:726 字

    阅读完需:约 2 分钟

Fable 是一个从 F#到 JavaScript 的转译器。它可以将 F#脚本或者整个 F#项目转换成 JavaScript。Fable 通过一个命令行界面运行,让开发人员既可以编译一个.fsx 脚本,也可以编译一整个项目。它作为一个 npm 包进行分发。

Fable 支持大部分 F#核心库和少量.NET BCL。它支持所有的基本类型,但有一些例外情况。一个值得注意的例外是 async。Async 计算表达式可以正常运行,但RunSynchronously不可用。

用户可以通过创建插件扩展Fable。通常,Fable 插件用于在编译过程中替换外部库调用。用户通过实现 IReplacePlugin接口及其仅有的方法TryReplace创建插件。下面是使用插件替换System.Random的基本代码:

复制代码
type RandomPlugin() =
interface IReplacePlugin with
member x.TryReplace com (info: Fable.ApplyInfo) =
match info.ownerFullName with
| "System.Random" ->
match info.methodName with
| ".ctor" -> failwith "TODO"
| "Next" -> failwith "TODO"
| _ -> None
| _ -> None

插件可以用于处理更复杂的情况,比如转换测试框架。目前, NUnit 支持就是通过一个插件将 NUnit 测试转换成 Mocha 测试。

用户还可以使用 Fable 通过 React Native创建移动应用 React Native 可以将 React 应用程序编译成 Android 和 iOS 应用。 Fable 插件提供了到 React Native 的绑定。一定要注意,通过 React Native 支持移动应用是一个试验性特性,会经常变化。

Fable 是一个开源项目,托管在GitHub 上。Fable 官方网站提供了文档代码示例。举一个在成熟项目中使用Fable 的例子。 Ionide 是一个用于在 VsCode 和 Atom 中编辑 F#的插件,它自 2.0 版本开始就使用了 Fable。

查看英文原文 Transcompiling F# to JavaScript with Fable

2016-08-25 19:002089
用户头像

发布了 1008 篇内容, 共 407.5 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

三种常见的限流算法

Java 程序员 后端

上线GitHub七天后就标星87

Java 程序员 后端

为了加快速度,Redis都做了哪些“变态”设计

Java 程序员 后端

二维码扫码登录是什么原理?

Java 程序员 后端

架构实战营 模块四作业

felix

架构实战营

三分钟:极速体验JAVA版目标检测(YOLO4)

Java 程序员 后端

两年CRUD,没料到我这渣二本,备战两个月面试阿里,居然侥幸拿下P6的offer

Java高级开发

中高级开发面试必问的Redis面试题,看这篇就够了!

Java 程序员 后端

为什么你不应该恨Java!

Java 程序员 后端

万字长文!从底层开始带你了解并发编程,彻底帮你搞懂Java锁!

Java 程序员 后端

移动千牛开放体验治理实践与防治方案

阿里巴巴终端技术

ios android 用户体验 舆情分析 移动端

三面微软,四面雅虎,外企面经复盘总结,那些你不知道的面试技巧

Java 程序员 后端

不就是Redis吗?竟让我一个月拿了8个offer,其中两家都是一线大厂

Java 程序员 后端

不是吧!你还不会在微服务中如何设计一个权限授权服务?

Java 程序员 后端

不错,这么好的东西不白嫖也太可惜了!阿里内部首发“Springboot成长笔记”

Java 程序员 后端

两道面试题,带你解析Java类加载机制

Java 程序员 后端

个性化推荐系统设计(3

Java 程序员 后端

为了加快速度,Redis都做了哪些“变态”设计(1)

Java 程序员 后端

全面解读!构建边云一体的智能应用技术实践

百度开发者中心

最佳实践 方法论 边缘计算 前沿科技

为什么你的insert就死锁了

Java 程序员 后端

三年开发,头铁面试阿里4面技术+1面HR,终获offer

Java 程序员 后端

阿里 P8大牛的 Maven学习笔记,在 GitHub上仅一天就获赞 上万

Java maven 编程 程序员

不要再本地启动项目调试了,试SpringBoot远程调试你会发现新大陆!

Java 程序员 后端

两年JAVA程序员的面试总结

Java 程序员 后端

为什么建议大家使用 Linux 开发?爽(外加七个感叹号)

Java 程序员 后端

WeTest六周年|质领未来,向新而行

WeTest

《Linux一学就会》第三章:文件系统的管理方法和xfs文件系统备份恢复

侠盗安全

Linux linux运维 云计算架构师

主流的消息队列MQ比较,详解MQ的4类应用场景

Java 程序员 后端

小学妹与我畅聊黑客渗透技术

喀拉峻

黑客 网络安全 信息安全 渗透测试

东汉末年,他们却把「服务雪崩」玩到了极致(干货

Java 程序员 后端

事大发了!小助理告诉我:小伙伴21天斩获字节offer的关键竟是这份面试题!

Java 程序员 后端

Fable:将F#转译成JavaScript_.NET_Pierre-Luc Maheu_InfoQ精选文章