问题标签 [kotlin-js]
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.
intellij-idea - 错误:无法在 IntelliJ 中找到或加载主类 MainKt
我正在使用 IntelliJ。
我可以毫无问题地运行 Java 或 Kotlin 项目,但我无法构建 Kotlin-JS 项目
我有错误错误:无法找到或加载主类 MainKt
我的 IntelliJ 信息
IntelliJ IDEA 2018.2.6 (Community Edition)
Build #IC-182.5107.16, build on November 6, 2018
JRE: 1.8.0_152-release-1248-b22 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains sro
Linux 4.19.0-041900-通用
文件树 文件树
我的主文件只包含:
运行菜单
运行菜单
我尝试了 $KOTLIN_BUILDED$、$MODULE_WORKIN_DIR$ 选项并手动放置路径,但它没有改变任何东西。
当我用鼠标悬停 MainKt 时,会出现一个工具提示“Class 'MainKt' is in the default package”,以便 IntelliJ 看到该类。
我的项目设置似乎没问题
我也试过
删除 *.iml 文件
重新安装 IntelliJ
重新添加主
Invalidate 缓存并重新启动
提前谢谢你
kotlin - Kotlin 是如何专门编译的?
我试图了解 Kotlin 源代码在编译时所经历的过程。该文件指出
当以 JVM 为目标时,Kotlin 生成与 Java 兼容的字节码。当以 JavaScript 为目标时,Kotlin 转译为 ES5.1 并生成与包括 AMD 和 CommonJS 在内的模块系统兼容的代码。当以原生为目标时,Kotlin 将生成特定于平台的代码(通过 LLVM)。
我的理解是,当 Kotlin 以 JVM 为目标时,代码被编译/翻译成字节码,然后 JVM 将其解释(?)成机器码。这会是 JIT(及时)编译的一个例子吗?
当定位 javascript 时,使用了“transpiles”这个词。代码究竟被编译成什么,它在任何步骤中是否被进一步解释或编译?
以本机为目标时,代码是否直接编译为机器码?LLVM 采取了哪些步骤?
最后,这是否意味着 Kotlin 既是编译语言又是解释语言?
gradle - 无法为 org.gradle.api.internal.tasks.DefaultSourceSetContainer 类型的 SourceSet 容器上的参数找到方法 srcDirs()
我正在尝试将我的 Kotlin 应用程序和一组 Kotlin 库编译为 JavaScript。我已经让它运行良好,但是当我尝试运行它时,它找不到kotlin.js
. 为了解决这个问题,我尝试将我的更改build.gradle
为更像GitHub 上的这个示例。
在我的中,我定义了这样的源集:(有效但不输出kotlin.js
)
到这样的事情:(甚至不同步)
这给了我这个错误:
如何解决此错误?我知道一个问题是我不太了解 Groovy/Gradle,但我觉得我所做的至少应该同步......
这是相关代码和项目的链接:https ://github.com/BlueHuskyStudios/Decision-Cruncher/blob/SO/53576840/build.gradle
kotlin - Kotlin 多平台项目上的 Js 模块构建失败
构建失败并显示错误消息:
./output.js 模块中的错误未找到:错误:无法解析“C:\Users\User\Documents\MultiPlatformTodo\web\web”中的“common”@ ./output.js 340:91-108
./output.js 中的错误未找到模块:错误:无法解析“C:\Users\User\Documents\MultiPlatformTodo\web\web”中的“kotlin”@ ./output.js 340:18-35
./output.js 模块中的错误未找到:错误:无法解析“C:\Users\User\Documents\MultiPlatformTodo\web\web”中的“kotlin-react”@ ./output.js 340:37-60
./output.js 中的错误模块未找到:错误:无法解析“C:\Users\User\Documents\MultiPlatformTodo\web\web”中的“kotlin-react-dom”@ ./output.js 340:62 -89
./output.js 中的错误未找到模块:错误:无法解析“C:\Users\User\Documents\MultiPlatformTodo\web\web”中的“kotlinx-coroutines-core”@ ./output.js 340:110 -144
./output.js 中的错误模块未找到:错误:无法解析“C:\Users\User\Documents\MultiPlatformTodo\web\web”中的“kotlinx-html-js”@ ./output.js 340:146 -172
FAILURE:构建失败并出现异常。
- 出了什么问题:任务':web:webpack-bundle'执行失败。节点 webpack.js 失败(退出代码 = 2)
js模块build.gradle
定义如下:
和settings.gradle
:
这是common
模块的内容:
gradle - Gradle 不会发出 kotlin.js
我正在尝试将我的 Kotlin 应用程序和一组 Kotlin 库编译为 JavaScript。我已经很好地工作了,但是当我尝试运行它时它找不到kotlin.js
.
那么这里发生了什么?当我使用 IDEA(而不是 Gradle)编译时,它的输出kotlin.js
很好。我试着让我的构建脚本更像我找到的一个例子,但这不会编译......
这是相关代码和项目的链接:https ://github.com/BlueHuskyStudios/Decision-Cruncher/blob/SO/q/53582651/1/build.gradle
kotlin - 在 Kotlin JS 中创建外部接口实例的惯用方式是什么
示例:定义了一些接口,@material-ui/core/createMuiTheme.d.ts
例如 ThemeOptions 和ts2kt
Theme没有构造函数。createMuiTheme
Theme
ThemeOptions
ThemeOptions
我创建了一个实现接口并实例化它的数据类。有时我需要使用动态实例,因为它允许第 3 方 js 代码对其进行修改。
假设我不想失去类型安全性并使用 JsObject/json()/js(),这种方法有什么好处吗?
gradle - 如何将 javascript 依赖项打包到 Kotlin JS 项目 JAR 中?
我正在为 Firebase Javascript SDK 制作一些 kotlin JS 包装器。因此,我使用 external 关键字和 @file:JsModule 注释创建了项目,如下所示:
我可以在我的 gradle 中将它发布到我的本地 maven 存储库:
如何添加 NPM 依赖项并确保它在生成的 JAR 文件中可用?
facebook - 如何在 Kotlin React 项目中访问 Facebook 的 javascript api?
我有一个项目使用“kotlinFrontend”来创建一个用 kotlin 编写的非常好的反应前端。我如何访问 facebook js sdk(通常使用脚本标签完成)
我的 HTML 模板上有这段代码,其中包含生成的捆绑包
在我的 kotlin react 代码中,我将如何访问 creatd FB obj?
javascript - 如何将 Kotlin 编译成 TypeScript?
我的 Kotlin 项目中有一个 JavaScript 版本。如何生成完整的 TypeScript 代码而不是 JavaScript?
我使用 Maven;但如果你有 Gradle 解决方案,我很感兴趣。
kotlin - Kotlin:调用 JavaScript 方法的扩展运算符
我尝试为 JavaScript 库编写类型安全的包装器。我需要使用可变参数(例如method(args...)
)从 JavaScript 调用方法。Kotlin 的乐趣也应该适用于可变参数。因为 Kotlin 支持扩展运算符,所以我尝试使用它,但 Kotlin 不想要这个。
示例代码:
编辑:忘记在代码中编写扩展运算符“*”。由于展开运算符,编译器返回错误。
Kotlin 编译器返回错误“无法在动态调用中应用扩展运算符”。
任何想法如何实现这样的包装器,还是我需要任何解决方法?
谢谢你的帮助!