问题标签 [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.
reason - 使用 bs-json 在 root 中使用动态键解码对象
我正在尝试将以下 JSON 对象解码为 Reason 对象。
{"AAPL":{"price":217.36}}
对象根中的键是动态的。
以下一般示例在密钥不在根目录中时有效。我将如何更改它以使其适用于根目录中的动态键?
reactjs - 无法从 ReasonReact 中的事件侦听器获取事件数据
我正在尝试在表格上实现动态列大小调整(例如在 Excel 或 Google 表格中)。
在我的渲染函数中,handle
当用户在我的调整大小控件上单击鼠标时,我使用回调:
在处理程序中,我想为 mousemove 添加一个新的事件侦听器,以便当用户“拖动”时,我们可以绘制一些东西来指示新列边缘的结束位置。
在 mousemove 处理程序中,我想我可以发送一个包含鼠标 clientX 坐标的 reducer 操作来更新组件状态,以便渲染函数可以在拖动时绘制一些东西。
当我尝试使用ReactEvent.Mouse.clientX(evt)
获取 clientX 的特定 int 值时,我收到此错误:
我对类型系统的理解在这里有限,我不确定如何将鼠标clientX坐标的值转换为变量。
javascript - 有没有办法在 Bucklescript 类型注释中表示 JS 模板文字?
我在 JS ( https://github.com/format-message/format-message ) 中使用了一个国际化库,其中包含一个接受模板文字和对象的函数。模板文字没有任何插入的 JS 变量,但文本必须用反引号而不是引号括起来,例如在翻译 ICU 格式的复数变体时。有没有办法在 Bucklescript 中对外部函数的模板文字参数进行类型检查?
编辑:我目前的代码如下所示:
的签名i18n()
不正确 - 第一个参数应该是模板文字字符串,而不是纯字符串。我可以确保第一个参数以类型安全的方式转换为 JS 模板文字字符串吗?
ocaml - bs.as 和 unicode 字符串
bs.as 是否适用于 unicode 字符串?
在给我
未使用的 BuckleScript 属性:bs.as 触发了一些致命警告(出现 1 次)
module - Json.Decode.{} 是什么意思?点花括号部分
我正在尝试学习 ReasonML 并按照 bs-json 的示例,我们可以将原始 json 解码为如下类型:
我有点困惑这Json.Decode.{ ... }
是什么。我知道我们可以使用点括号将范围打开到模块.()
中,但我以前没有见过这个点花括号。
webpack - 如何在 webpack 中合理使用 process.env 变量
这是交易:使用 webpack,您可以提供环境变量(通过DefinePlugin
或EnvironmentPlugin
),以便它们可以被process.env.MY_VAR
. 它可以在构建时将它们与实际值内联。
但我无法尝试在 Reason 中使用它们。Bucklescript 有Node.Process
模块,但是当你使用Node.Process##env
它时,它会被转译为
所以它不会被 webpack 拾取并内联。那么我可以用什么来实现它将被转换为var myVar = process.env.MY_VAR
?
ocaml - 如何在 esy 项目中使用带有 rtop 的 bucklescript 库?
我正在尝试在 esy 项目中使用 rtop 作为 repl。
为此,我已添加"@esy-ocaml/rtop":"*"
到devDependencies
我的 package.json 文件的部分,并尝试使用以下命令启动 rtop esy rtop
:
但是,我无法加载我的组件:
但是,正如你所看到的,我能够加载 React,不管这意味着什么......
那么,我怎样才能使用 rtop 作为我的项目 repl?
ffi - 尝试创建绑定的访问器名称冲突
我正在尝试为现有的 javascript 库创建绑定,但是当我尝试使用属性访问函数时出现错误。
我知道这两个对象具有相同的属性名称,因此生成的函数prop2Get(...)
被覆盖。这种情况的解决方案是什么?
class - 如何在 ReasonML 中为 Web 组件扩展 JavaScript HTMLElement 类?
对于下面的 JavaScript 代码,我该如何用 ReasonML 编写它?
我找不到任何关于在 ReasonML 中编写类的文档?我不能使用普通对象/类型,因为我需要从不适用于ES 样式类的 HTMLElement 类进行扩展。
我已经研究了这个现有的问题 - How to extend JS class in ReasonML然而,这是另一回事。要编写 Web 组件,我们需要扩展HTMLElement
并且必须使用new
关键字调用它。ES5 样式扩展机制不起作用。