问题标签 [kotlin-js-interop]
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.
kotlin - 如何使用 KotlinJS 正确测试 Web 套接字连接
我无法测试使用本机的代码WebSocket
。这是测试函数的主体:
我将 Karma 与 Mocha 测试运行器一起使用。以下代码执行时没有任何错误,但setTimeout
实际上被忽略且从未执行。
Mocha 似乎支持setTimeout
基于--delay
. 但是,当我使用带有client: { mocha: { delay: true } }
Karma 配置的标志时,测试只是冻结并失败,输出以下原因消息:
已断开连接,因为 60000 毫秒内没有消息。
执行测试的正确方法是什么setTimeout
?如果这很棘手,有没有其他方法可以WebSocket
在它完全连接后执行断言?我还没有使用任何特定于 Mocha 的功能,所以我不介意更改框架。
javascript - 使用 Kotlin 创建简单的 Node 服务器
我正在尝试使用 Kotlin 创建一个简单的节点服务器来复制这里的基本示例:
所以,我做了以下事情:
新建文件夹,命名为node
npm package
使用创建npm init
gradle project
使用此命令创建新的:gradle init --type java-library
删除src/main
和src/test
文件夹
创建src/kotlin
和src/resources
文件夹
将文件内容替换为build.gradle
:
kotlin
从npm
本地版本安装:注意npm i kotlin
:全局安装npm i -g kotlin
根本不起作用。
注意:我也使用npm install
或npm i
在将依赖项添加到package.json
文件之后执行此操作,如下所示:
创建我的文件src/kotlin/Main.Kt
如下:
使用构建项目gradle build
并index.js
根据需要生成文件。
一旦运行该文件node index.js
,它就不起作用了,并且看起来应用程序没有读取port
和host
调用server.listen
.
该应用程序的结构、代码和输出在此屏幕截图中:
index.js
生成的是:
angular - 从 TS Angular Webapp 访问用 Kotlin 编写的库
我有一个用 Kotlin 编写的库,我想从一个用 TypeScript 编写的 Angular Webapp 中使用它,但我最终得到了Uncaught Error: Error loading module 'js'. Its dependency 'kotlin' was not found. Please, check whether 'kotlin' is loaded prior to 'js'.
我做到了 npm install --save kotlin
,但我不太确定如何处理它,也不知道如何使我的RpnCalculatorService
.
我<script src="assets/kotlin/kotlin.js"></script>
在我的 index.html 中做了,它有效但感觉非常错误,并且import {RpnCalculatorService} from './MathLib/js';
不会产生任何错误,但我无法通过调用来创建新服务new RpnCalculatorService()
。
kotlin - KProperty1 的不同语义在 JS 中与 JVM 相比
它看起来KProperty1<T, R>
在 JVM 和 JS 中具有不同的语义,例如,当这个测试在 JVM 上工作时:
它在 Javascript 中失败并显示以下消息:
任何想法如何解决这个问题?
reactjs - 将 3rd 方 React 组件导入 kotlin.js 项目的正确方法是什么?
kotlin - 带有 javascript Uint8ClampedArray 的 Kotlin 无符号字节
我有一个程序试图在 Kotlin 程序中设置表示为Uint8ClampedArray的 ImageData 值。根据set 方法的规范,我需要将一个 Kotlin 字节传递到数组中,但 Kotlin 字节是有符号的:
我的问题是 Javascript 只会将其读取为 127,而不是 255。如何将此数组的值设置为大于 127?我什至找不到一种 hack-y 方法来让 JS 结果读取我想要的内容,因为最终赋值需要一个不允许大于 127 的值的有符号字节。
javascript - 有没有办法编写 Kotlin 代码来生成像“AppComponent.annotations”这样的 javascript
我正在尝试使用 Kotlin 编写有角度的 JavaScript 代码。以下是 Angular 的一些有效 Javascript 代码:
但我无法编写适当的 Kotlin 代码来生成这种形式的 JavaScript 代码。
我尝试使用伴随对象:
但它实际上会产生
这是行不通的。
有可能修复它吗?
javascript - How to generate a javascript function with `this.field=value` in body, in KotlinJs
When I use KotlinJS with riot, it requires a function like following to define a tag:
Though I can write the Kotlin code like this:
But you can see it has several problems:
- We have to use some
js("this")
tricks self.name
,self.message
, and similar, there are a lot of dynamic code all over the function body
How to avoid them? I want to write pure, type-safe Kotlin code as much as possible.
And, in advance, is it possible to define a class which has clearer structure, like:
I can accept to do some conversions against the class to generate the required function.
javascript - 如何从 JavaScript 访问 Kotlin 对象
我正在使用 kotlin2js 从 Kotlin 代码生成 JS 库。然后我在 Javascript(不是 Kotlin)中使用这个库。该代码有一些 Kotlin 对象和一些普通类。我可以从 Javascript 访问普通类,但我无法以任何方式访问对象。
文档非常稀疏,只有相关的行可能是这样的:
Kotlin 在 JavaScript 中保留了惰性对象初始化。
我不确定那是什么意思。
gradle - 无法解析“/home/marcin/Projects/EduKotlinAcademy/web/build/node_modules_imported/kotlinx-html-js”中的“kotlin”
我在 kotlin 前端 Gradle 插件上启动了 Kotlin/JS 反应库。我有以下错误:
看起来在 kotlinx-html-js 上找不到对 Kotlin 的依赖。虽然我定义了 Kotlin,但它应该可以很好地生成。
对于此配置: