问题标签 [bucklescript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
types - 扣脚本方法定义=字符串
几乎所有的 bucklescript 示例都有这样的语法:
或像这样:
我见过的最简单的例子是在这个教程中:https ://medium.com/@Hehk/binding-a-library-in-reasonml-e33b6a58b1b3
最后一个= string
代表什么?在这种情况下,类型 t 是什么?
ocaml - 循环依赖reasonml
假设我有一个1 -> n
关系:一个待办事项可以有许多(或零个)笔记,而一个笔记可以有零个或一个待办事项。如何在 ReasonML 中实现这种关系?(绑定外部库)
这是我目前所带来的(当然是行不通的)
如果 Note 和 Todo 在一个文件中,一个在不同的文件中怎么办?
ocaml - 找不到记录字段注释
我正在尝试使用相互递归模块定义一个变量,假设一个 Todo 可以有很多 Note 并且 Note 可以属于一个 Todo:
但是我不能用这种类型定义一个变量,编译器告诉我:
如果有帮助,请使用 Ocaml 中的相同代码:
抱歉,代码太长,请丢弃下面的这些行。
javascript - ReasonML javascript 记录字段
假设我有以下 Bucklescript 类型:
然后是以下代码:
这失败了:
为什么?我的类型注释如何不正确?
在 ReasonML 中公开这样的成员方法的正确方法是什么?
ocaml - reasonml 记录 vs JS 对象
假设我定义了以下类型:
然后调用以下命令:
结果是:
我怎样才能传递正确类型的东西?为什么我传递的东西不是记录?那个点符号的含义是什么?
namespaces - 全命名空间需要重新编译
假设我有两个文件:
说我现在有,在顶部bar.re
这无法编译:
如果我重新运行编译,一切正常
如果我将该行更改为open Foo;
一切编译正常。
为什么我要观察这种行为?
compiler-errors - 如何在 BuckleScript 中编译带有接口的文件?
没有bsb
,如何编译一个不合格的.ml
文件?
我什至还没有尝试用ocamlfind
图书馆做到这一点,很确定当我走到那一步时我会想自杀。
Dune不支持 BuckleScript;bsb
据我所知,不支持任何 OCaml 测试工具(ppx_inline_test、ppx_expect)或 ppx_deriving 插件……我在这里束手无策。帮助我弄清楚如何实际使用BuckleScript。
javascript - 来自 javascript 绑定的未标记联合沿着错误的路径
我正在尝试为 amqplib npm 包编写一个 reasonml 绑定:
http://www.squaremobius.net/amqp.node/
特别是这个功能:
http://www.squaremobius.net/amqp.node/channel_api.html#channel_get
然后我有以下代码:
但是,即使 js 调用返回 false,这始终会沿着“Message(msg)”路径向下移动。
现在添加以下绑定:
我已经能够回避这个问题,但bs.raw
如果我诚实的话,我并不是非常喜欢使用它。我最初的未标记联合类型有什么问题?我该如何解决这个问题?
ocaml - 为 bucklescript 中的异常打开堆栈跟踪
我正在尝试将一些 OCaml 测试从 OUnit2 移植到bs-jest,但是我Not_found
从一些测试中得到了一个异常,我不知道它来自哪里;有没有办法在 bucklescript 中启用堆栈跟踪?
在 OCaml 中,我会将-g
选项传递给编译器,但在调用bsc
. 当一个异常被抛出并且没有被捕获时,程序只是在没有信息的情况下崩溃,当我捕获它并使用说Printexc.get_backtrace
我得到消息“(程序未与 -g 链接,无法打印堆栈回溯)”。
reactjs - package.json 中的 JEST
我对 package.json 中的 MatchTest 有疑问我有一个名为 EventSourceMock.bs.js 的文件,它是一个模拟事件源的库。另外我还有其他文件,如 CalculatorTest.bs.js 然后我的包 MatchTest 设置为这个"**/**(Spec|Test).bs.js"
当我运行测试时,CalculatorTest.bs.js 通过但结果说这个 ``` FAIL EventSourceMock.bs.js ● 测试套件失败跑
```
似乎开玩笑地认为 EventSourceMock.bs.js 是一个测试文件而不是一个库。
所以我在玩,我把 MatchTest 改成"**/**{(Spec|Test)}.bs.js"
莫名其妙就过去了。。
任何想法?