问题标签 [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 投票
1 回答
3115 浏览

reason - 如何使用 Reasonml/Bucklescript 将字符串解析为整数?

我正在学习 Reasonml,我在标准库中找不到任何功能,无论是 Bucklescript Js 模块。有没有比使用原始 javascript更好的选择?

现在我正在用这个功能实现它:

0 投票
2 回答
1423 浏览

ocaml - 如何询问变量的类型类?

我正在尝试学习 ReasonML,并且正在做一些 koans 来帮助我完成这项任务。我正在尝试编写的其中一个 koans 是关于在将列表转换为数组后询问列表的类型。我知道在一些语言中,例如 Haskell ( ) 中有运算符:t,我们可以在其中询问变量的类型。:tReasonML有什么等价物吗?或者检查是否Array.of_list返回数组应该没有意义,因为编译器确保......

0 投票
1 回答
928 浏览

dom - 从 DOM 中选择元素 - Reasonml/BuckleScript querySelector

你将如何使用 Reason 从 DOM 中选择项目。我正在使用 bs-webapi 进行 DOM 绑定,这就是我想要做的:

但是,BuckleScript 抱怨,因为 parent 类型不正确。它说 parent 是 typeoption(Dom.element)并且 parent 应该是Dom.element.t。我是 Reason 的新手,正在努力学习。我不明白是什么option(Dom.element)意思或如何使上述代码块这样的东西起作用。任何帮助是极大的赞赏

0 投票
2 回答
258 浏览

reason - 带有选项参数的函数的绑定

JavaScript 中的常见做法是有一个接受选项参数的函数,如下所示:

在 Reason/OCaml 中,人们更愿意为这些函数使用带标签的参数:

现在,我知道有这种方法可以为以下函数创建 Reason/Bucklescript 绑定:

然而,有没有一种更简单的方法来为这些函数编写绑定?我对这种方法的问题是,当调用一个接收选项对象的函数时,它会变得相当“长”,特别是如果它是一个多态参数,例如:

0 投票
1 回答
378 浏览

promise - Promise 后在渲染中输入错误

在我从 fetch 获取数据后,我试图用理性反应渲染一个组件,但我收到一个类型错误。这是我的代码:

获取数据.re:

主要内容:

我收到了这个错误:

我还尝试用 simple 替换 renderJs.log(result)并且它可以工作,我尝试检查Js.logand的类型render(将它们的调用传递给一个接受int并观察错误的函数)并且它们都是unit

我的错误在哪里?有没有类似顶级/ utop 的原因?它实际上对 OCaml 有很大帮助

0 投票
1 回答
71 浏览

ffi - 它可能使用 List.fold_left 返回一个 Js.Obj?

我试图在 ReasonML 中做到这一点但没有成功。问题是我不知道对象键。

0 投票
1 回答
317 浏览

json - 解码一个json树结构

bs-jsonandThen库中,提供了一个使用组合器将 json 结构转换为树的示例。原始示例可以在 GitHub上的 ML 接口文件中找到。将此文件中的函数复制decodeTree到浏览器原因工具会显示语法错误。

非常感谢任何让这个工作的指针。

我尝试将其转换为 Reason3 会导致类型错误。这是代码:

这是类型错误,

0 投票
1 回答
546 浏览

webpack - 无法解析 webpack 中的 ReasonReact.js

我正在尝试让 ReasonML 与现有的 React 代码库一起工作。我没有使用create-react-app. 这是一个hand-built项目。在大多数情况下,看起来一切都设置得很好。但是,当我尝试使用默认编译bs.js文件运行 Webpack 时出现错误。

bsconfig.js的几乎是从 ReasonML 文档中直接复制/粘贴的:

Bucklescript 正在bs.js我期望的位置生成适当的文件。一切都很好。然而,Webpack 找不到它要找的东西,我并不感到惊讶。没有/lib/js/src/ReasonReact.js文件。有一个ReasonReact.js文件/lib/bs,一个在node_modules/reason-react/lib/js.

当我编辑已编译的 ReasonML 文件并将 ReasonReact 变量指向该node_modules ReasonReact.js文件时,一切正常。

我查看了一些教程和文章。也许我错过了一些东西,但我找不到任何关于我遇到的错误的信息。bs.js有没有人知道为什么编译文件中的路径会关闭?

0 投票
2 回答
152 浏览

exception - 对 promise 进行模式匹配异常时的意外输出

我有以下代码

它产生的输出是:

为什么上面的代码不产生输出"not found",我应该怎么做才能确保 switch 语句中的第一个分支被执行?

0 投票
1 回答
1430 浏览

cors - Fetch 拒绝对 404 响应的承诺,而不是用 404 状态解决

我试图弄清楚如何在reason-react-example repo 的 fetch 示例中处理失败的 http 响应。

以下是我的第一个想法(修改网址):

它没有像我希望的那样工作。例如,当 HTTP 请求以 404 失败时,结果会Fetch立即拒绝,这是我没想到的,因为这不是浏览器获取 API 的工作方式。此外,何时err记录它TypeError: Failed to fetch并且该err.response属性未定义。

我的问题是:例如如何处理错误以获取状态代码和状态文本?