问题标签 [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.

0 投票
2 回答
69 浏览

types - 扣脚本方法定义=字符串

几乎所有的 bucklescript 示例都有这样的语法:

或像这样:

我见过的最简单的例子是在这个教程中:https ://medium.com/@Hehk/binding-a-library-in-reasonml-e33b6a58b1b3

最后一个= string代表什么?在这种情况下,类型 t 是什么?

0 投票
1 回答
485 浏览

ocaml - 循环依赖reasonml

假设我有一个1 -> n关系:一个待办事项可以有许多(或零个)笔记,而一个笔记可以有零个或一个待办事项。如何在 ReasonML 中实现这种关系?(绑定外部库)

这是我目前所带来的(当然是行不通的)

如果 Note 和 Todo 在一个文件中,一个在不同的文件中怎么办?

0 投票
2 回答
272 浏览

ocaml - 找不到记录字段注释

我正在尝试使用相互递归模块定义一个变量,假设一个 Todo 可以有很多 Note 并且 Note 可以属于一个 Todo:

但是我不能用这种类型定义一个变量,编译器告诉我:

如果有帮助,请使用 Ocaml 中的相同代码:

抱歉,代码太长,请丢弃下面的这些行。

0 投票
1 回答
321 浏览

javascript - ReasonML javascript 记录字段

假设我有以下 Bucklescript 类型:

然后是以下代码:

这失败了:

为什么?我的类型注释如何不正确?

在 ReasonML 中公开这样的成员方法的正确方法是什么?

0 投票
1 回答
1010 浏览

ocaml - reasonml 记录 vs JS 对象

假设我定义了以下类型:

然后调用以下命令:

结果是:

我怎样才能传递正确类型的东西?为什么我传递的东西不是记录?那个点符号的含义是什么?

0 投票
1 回答
86 浏览

namespaces - 全命名空间需要重新编译

假设我有两个文件:

说我现在有,在顶部bar.re

这无法编译:

如果我重新运行编译,一切正常

如果我将该行更改为open Foo;一切编译正常。

为什么我要观察这种行为?

0 投票
1 回答
204 浏览

compiler-errors - 如何在 BuckleScript 中编译带有接口的文件?

没有bsb,如何编译一个不合格的.ml文件?

我什至还没有尝试用ocamlfind图书馆做到这一点,很确定当我走到那一步时我会想自杀。

Dune不支持 BuckleScriptbsb据我所知,不支持任何 OCaml 测试工具(ppx_inline_test、ppx_expect)或 ppx_deriving 插件……我在这里束手无策。帮助我弄清楚如何实际使用BuckleScript。

0 投票
1 回答
272 浏览

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如果我诚实的话,我并不是非常喜欢使用它。我最初的未标记联合类型有什么问题?我该如何解决这个问题?

0 投票
1 回答
135 浏览

ocaml - 为 bucklescript 中的异常打开堆栈跟踪

我正在尝试将一些 OCaml 测试从 OUnit2 移植到bs-jest,但是我Not_found从一些测试中得到了一个异常,我不知道它来自哪里;有没有办法在 bucklescript 中启用堆栈跟踪?

在 OCaml 中,我会将-g选项传递给编译器,但在调用bsc. 当一个异常被抛出并且没有被捕获时,程序只是在没有信息的情况下崩溃,当我捕获它并使用说Printexc.get_backtrace我得到消息“(程序未与 -g 链接,无法打印堆栈回溯)”。

0 投票
0 回答
198 浏览

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"

莫名其妙就过去了。。

任何想法?