Tag: JavaScript

Kotlin转换为Javascript错误:“减法不是函数”

将Kotlin代码转换为JavaScript时遇到问题。 每当我使用减法或加法,它将转换为无效的JavaScript代码。 我有一个Kotlin JavaScript项目,配置了Gradle。 编译器被配置为生成输出到commonjs,我创建了一个简单的NodeJS应用程序来执行生成的代码。 原始Kotlin文件: import kotlin.js.JsName @JsName("testSubtraction") fun testSubtraction(a: Long, b: Long) : Long { return a – b } 生成的输出文件: module.exports = function (Kotlin) { 'use strict'; var _ = Kotlin.defineRootPackage(null, /** @lends _ */ { testSubtraction: function (a, b) { return a.subtract(b); } }); Kotlin.defineModule('output', _); return _; }(require('kotlin')); //@ sourceMappingURL=output.js.map […]

如何使用正确的名称将Kotlin函数导出到Javascript

我试图将Kotlin函数导出到Javascript。 问题是,需要参数的函数在Kotlin2JS操作之后被重命名,这里是一个例子: Kotlin来源: fun withParam(args: String) { println("JavaScript generated through Kotlin") } fun withoutParams() { println("Without params") } 在Kotlin2JS之后,试图在Node REPL中要求: > const kotlinBundle = require('./build/index.js'); undefined > kotlinBundle { 'withParam_61zpoe$': [Function: withParam], withoutParams: [Function: withoutParams] } > 正如你所看到的,带有_61zpoe$后缀的参数的函数。 是否有可能摆脱那部分? 我使用kotlin2js插件和kotlin-stdlib-js:1.1.1库,我的kotlinOptions是: compileKotlin2Js.kotlinOptions { moduleKind = "commonjs" outputFile = "build/index.js" } 谢谢

Kotlin编译为不可运行的JavaScript

我在kotlin(即sample-kotlin-project )中有一个项目,使用下面的gradle脚本使用gradle编译为javascript: buildscript { ext.kotlin_version = '1.1.4-3' repositories { mavenCentral() maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.moowork.gradle:gradle-node-plugin:1.2.0' } } apply plugin: 'kotlin2js' apply plugin: 'com.moowork.node' repositories { mavenCentral() } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version" testCompile "org.jetbrains.kotlin:kotlin-test-js:$kotlin_version" } task wrapper(type: Wrapper) { gradleVersion = "4.1" } [compileKotlin2Js, compileTestKotlin2Js]*.configure { kotlinOptions.moduleKind = "commonjs" […]

如何整合kotlin和node.js

我是kotlin的新成员,发现我们可以将JavaScript与kotlin集成,但我无法理解如何通过nodejs和kotlin实现这一点。 我发现我可以用kotlin使用javaScript,但是不能用javascript来设置kotlin。 任何帮助,将不胜感激。 谢谢

Kotlin接口导出到Javascript缺少的属性

我在Kotlin中有一个简单的界面,如下所示: interface IMyInterface { var name: String var description: String } 用这样的build.gradle文件: apply plugin: 'java' apply plugin: 'kotlin2js' sourceCompatibility = 1.8 repositories { mavenCentral() } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" } compileKotlin2Js { kotlinOptions.moduleKind = "umd" kotlinOptions.sourceMap = true } 它在我输出的时候输出这个javascript: (function (root, factory) { if (typeof define === 'function' && define.amd) define(['exports', 'kotlin'], […]

Kotlin JS项目的基本Gradle脚本Kotlin文件是什么样的?

我正在尝试使用Kotlin-DSL在Kotlin中编写一个Gradle构建脚本。 到目前为止,我已经看到了关于如何为Java项目完成的例子。 然而,因为我正在Kotlin开发一个React Native应用程序,所以没有任何教程可以用来制作Kotlin / JavaScript项目。 那么为了这个目的,一个基本的 Gradle脚本Kotlin文件是什么样的?

String :: toByteArray()不能在Kotlin 中编译

下面的代码不能在Kotlin Js中编译: "My String".toByteArray() 任何想法为什么? 返回的错误是: [INFO] [INFO] — kotlin-maven-plugin:1.1.51:js (compile-js) @ client — [INFO] Kotlin version 1.1.51 (JRE 1.8.0_144-b01) [INFO] Compiling Kotlin sources from [C:\myproject\src\main\kotlin] [ERROR] C:\myproject\src\main\kotlin\mypackage\MyFile.kt: (15, 48) Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: public fun Array<out Byte>.toByteArray(): ByteArray defined in kotlin.collections public fun Collection<Byte>.toByteArray(): […]

Kotlin JS JSON反序列化

我在javascript平台上使用kotlin。 此代码在第六行上失败,但“Uncaught TypeError:aciterator不是函数”异常。 class A(val b: String, val c: List<String>) fun main(args: Array<String>) { val a = JSON.parse<A>("""{"b": "b_value", "c": ["c_value_1", "c_value_2"]}""") println(ab) for (c in ac) println(c) } 在JavaScript的debuger我可以看到,该对象“一”是反序列化。 但我认为,它不是一个有效的类型A的kotlin对象。有什么办法,如何从对象“a”或从原始的json字符串创建类型A的有效kotlin对象实例?

Kotlin JS和GWT互操作

Kotlin JS编译器从Kotlin代码发出Java脚本代码。 GWT从Java源代码发出Java脚本代码。 是否可以轻松地连接由Kotlin编译器生成的JS和由GWT编译器生成的JS? 怎么样?

用Kotlin编写javascript应用程序

我最近开始看看Kotlin,并设法创建了我的第一个JVM应用程序。 拥有一种编译Java和JS的单一语言是非常酷的。 所以,现在我开始玩Kotlin2js,并尝试了解Javascript的互操作性,以及使用JS框架(如jQuery)的可能性。 我发现了一些博客帖子和示例: http : //blog.jetbrains.com/kotlin/2013/10/writing-kotlin-in-the-browser/ http://blog.jetbrains.com/kotlin/2014/ 12 / javascript-interop / https://github.com/JetBrains/kotlin/blob/master/libraries/tools/kotlin-gradle-plugin/src/test/resources/testProject/kotlin2JsProject/mainProject/src/main/kotlin/例如/ main.kt 有没有Kotlin JS库的文档? 这还没有在http://kotlinlang.org/api/latest/jvm/stdlib/index.html提及 我第一次编译了一个简单的示例应用程序,它使用import kotlin.browser.*与gradle作为构建系统(最后, 在这里有一些帮助 ,再次感谢!)。 比我导入IDEA的项目,突然它不能编译了,我不得不改变导入import js.dom.html.* 。 那么,我想它使用不同版本的库? (和IDEA添加apply plugin: 'kotlin'到我的build.gradle除了kotlin2js,我猜这是行不通的。) IDEA将kotlin-jslib.jar复制到它的清单中的“Implementation-Version:0.7.270”。 对于使用gradle的编译,我使用了kotlin 1.0.1-1,而且我很确定在创建项目时我也在IDEA中选择了这个版本。 那么,了解Kotlin2js和Kotlin-js-lib的最佳信息来源是什么? 特别是Javascript的互操作性,如何使用jQuery框架(似乎在kotlin-js-lib中有jQuery支持),还有,我怎样才能使用其他不支持Kotlin的框架。 我明白,Kotlin有dynamic关键字,并且当我尝试使用它时,会提到noImpl导致编译错误。 也许现在最好的办法是看Kotlin的来源? 那么这是一个相当长的,非结构化的问题,涵盖了几个方面,但这是我目前的学习状态Kotlin :-)也许其他人遇到同样的问题。