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
相关推荐
king王一帅2 小时前
Incremark Solid 版本上线:Vue/React/Svelte/Solid 四大框架,统一体验
前端·javascript·人工智能
SmartRadio6 小时前
CH585M+MK8000、DW1000 (UWB)+W25Q16的低功耗室内定位设计
c语言·开发语言·uwb
rfidunion6 小时前
QT5.7.0编译移植
开发语言·qt
rit84324996 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
大、男人6 小时前
python之asynccontextmanager学习
开发语言·python·学习
hqwest7 小时前
码上通QT实战08--导航按钮切换界面
开发语言·qt·slot·信号与槽·connect·signals·emit
AC赳赳老秦7 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
不知道累,只知道类7 小时前
深入理解 Java 虚拟线程 (Project Loom)
java·开发语言
Nan_Shu_6148 小时前
学习: Threejs (1)
javascript·学习
国强_dev8 小时前
Python 的“非直接原因”报错
开发语言·python