Kotlin/Js Kotlin 编译为 JS (尝试)

Kotlin/JS 是 Kotlin 编程语言的一个目标平台,它允许你使用 Kotlin 编写在 JavaScript 环境中运行的代码。通过 Kotlin/JS,你可以将你的 Kotlin 代码编译成 JavaScript 代码,通常是兼容 ECMAScript 5 或更高版本的形式。这使得 Kotlin 不仅可以用于服务端(通过 Kotlin/JVM)和 Android 应用开发,还可以用来编写前端代码。

Kotlin/JS 项目使用 Gradle 作为构建系统。还可以使用 npmyarn 进行包管理。使用 webpack 完成 js构建

本篇文章仅仅浅浅的对这个功能尝试。

如果想要更多信息请查阅官方文档:点我跳转

1. 引入插件

kotlin 复制代码
plugins {
    kotlin("multiplatform") version "2.1.10"
}

2. 设置编译选项

在 Gradle 中,可以使用 kotlin{...} 来进行管理和设置各项内容

kotlin 复制代码
kotlin {
	js(IR) {
        // 输出模块名称
        moduleName = "main"
        // 设置package.json
        compilations["main"].packageJson {
            customField("scripts", mapOf("babel" to "babel kotlin -d kotlin_babel", "build" to "webpack"))
        }
//        generateTypeScriptDefinitions() // 生成 TypeScript 声明文件 (d.ts)
//        useEsModules() // 使用 ES 模块,使用后输出 mjs 文件。
        nodejs {
            testTask {
                // 是否启用测试
                enabled = true
            }
        }
        binaries.executable()
    }
}

3. 编写测试代码

kotlin 复制代码
fun main(){
	println("Hello Kotlin/Js")
}

4. 运行

shell 复制代码
./gradlew jsRun
相关推荐
摸鱼的春哥1 天前
春哥的Agent通关秘籍13:实现RAG查询
前端·javascript·后端
明月_清风1 天前
滚动锁定:用户向上翻看历史时,如何阻止 AI 新消息把它“顶”下去?
前端·javascript
明月_清风1 天前
当高阶函数遇到 AI:如何自动化生成业务层面的逻辑拦截器
前端·javascript·函数式编程
alexhilton1 天前
使用FunctionGemma进行设备端函数调用
android·kotlin·android jetpack
前端Hardy2 天前
面试官:JS数组的常用方法有哪些?这篇总结让你面试稳了!
javascript·面试
yuki_uix2 天前
Props、Context、EventBus、状态管理:组件通信方案选择指南
前端·javascript·react.js
全栈老石2 天前
手写无限画布4 —— 从视觉图元到元数据对象
前端·javascript·canvas
Leon2 天前
新手引导 intro.js 的使用
前端·javascript·vue.js
lhDream2 天前
Kotlin 开发者必看!JetBrains 开源 LLM 框架 Koog 快速上手指南(含示例)
kotlin
牛奶2 天前
JS随笔:浏览器 API(DOM 与 BOM)
前端·javascript·面试