问题标签 [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 回答
253 浏览

reason - 使用 bs-json 在 root 中使用动态键解码对象

我正在尝试将以下 JSON 对象解码为 Reason 对象。

{"AAPL":{"price":217.36}}

对象根中的键是动态的。

以下一般示例在密钥不在根目录中时有效。我将如何更改它以使其适用于根目录中的动态键?

0 投票
1 回答
418 浏览

reactjs - 无法从 ReasonReact 中的事件侦听器获取事件数据

我正在尝试在表格上实现动态列大小调整(例如在 Excel 或 Google 表格中)。

在我的渲染函数中,handle当用户在我的调整大小控件上单击鼠标时,我使用回调:

在处理程序中,我想为 mousemove 添加一个新的事件侦听器,以便当用户“拖动”时,我们可以绘制一些东西来指示新列边缘的结束位置。

在 mousemove 处理程序中,我想我可以发送一个包含鼠标 clientX 坐标的 reducer 操作来更新组件状态,以便渲染函数可以在拖动时绘制一些东西。

当我尝试使用ReactEvent.Mouse.clientX(evt)获取 clientX 的特定 int 值时,我收到此错误:

我对类型系统的理解在这里有限,我不确定如何将鼠标clientX坐标的值转换为变量。

0 投票
0 回答
142 浏览

javascript - 有没有办法在 Bucklescript 类型注释中表示 JS 模板文字?

我在 JS ( https://github.com/format-message/format-message ) 中使用了一个国际化库,其中包含一个接受模板文字和对象的函数。模板文字没有任何插入的 JS 变量,但文本必须用反引号而不是引号括起来,例如在翻译 ICU 格式的复数变体时。有没有办法在 Bucklescript 中对外部函数的模板文字参数进行类型检查?

编辑:我目前的代码如下所示:

的签名i18n()不正确 - 第一个参数应该是模板文字字符串,而不是纯字符串。我可以确保第一个参数以类型安全的方式转换为 JS 模板文字字符串吗?

0 投票
0 回答
88 浏览

ocaml - bs.as 和 unicode 字符串

bs.as 是否适用于 unicode 字符串?

在给我

未使用的 BuckleScript 属性:bs.as 触发了一些致命警告(出现 1 次)

0 投票
1 回答
97 浏览

module - Json.Decode.{} 是什么意思?点花括号部分

我正在尝试学习 ReasonML 并按照 bs-json 的示例,我们可以将原始 json 解码为如下类型:

我有点困惑这Json.Decode.{ ... }是什么。我知道我们可以使用点括号将范围打开到模块.()中,但我以前没有见过这个点花括号。

0 投票
1 回答
653 浏览

promise - 理解 ReasonML 中的 Js.Promise.resolve(.) 点语法

我正在尝试了解文档: https ://reasonml.github.io/docs/en/promise

在使用部分有:

为什么2之前有点?它是什么意思,它有什么作用?

0 投票
1 回答
428 浏览

webpack - 如何在 webpack 中合理使用 process.env 变量

这是交易:使用 webpack,您可以提供环境变量(通过DefinePluginEnvironmentPlugin),以便它们可以被process.env.MY_VAR. 它可以在构建时将它们与实际值内联。

但我无法尝试在 Reason 中使用它们。Bucklescript 有Node.Process模块,但是当你使用Node.Process##env它时,它会被转译为

所以它不会被 webpack 拾取并内联。那么我可以用什么来实现它将被转换为var myVar = process.env.MY_VAR

0 投票
1 回答
201 浏览

ocaml - 如何在 esy 项目中使用带有 rtop 的 bucklescript 库?

我正在尝试在 esy 项目中使用 rtop 作为 repl。

为此,我已添加"@esy-ocaml/rtop":"*"devDependencies我的 package.json 文件的部分,并尝试使用以下命令启动 rtop esy rtop

但是,我无法加载我的组件:

但是,正如你所看到的,我能够加载 React,不管这意味着什么......

那么,我怎样才能使用 rtop 作为我的项目 repl?

0 投票
1 回答
36 浏览

ffi - 尝试创建绑定的访问器名称冲突

我正在尝试为现有的 javascript 库创建绑定,但是当我尝试使用属性访问函数时出现错误。

我知道这两个对象具有相同的属性名称,因此生成的函数prop2Get(...)被覆盖。这种情况的解决方案是什么?

0 投票
1 回答
630 浏览

class - 如何在 ReasonML 中为 Web 组件扩展 JavaScript HTMLElement 类?

对于下面的 JavaScript 代码,我该如何用 ReasonML 编写它?

我找不到任何关于在 ReasonML 中编写类的文档?我不能使用普通对象/类型,因为我需要从不适用于ES 样式类的 HTMLElement 类进行扩展。

我已经研究了这个现有的问题 - How to extend JS class in ReasonML然而,这是另一回事。要编写 Web 组件,我们需要扩展HTMLElement并且必须使用new关键字调用它。ES5 样式扩展机制不起作用。