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
相关推荐
2601_966949651 小时前
为什么量化策略需要大量历史股票数据?从回测可信度理解数据规模
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
niucloud-admin1 小时前
JAVA V6 多商户商城 开发文档——插件目录结构
java·开发语言
滕州市燕猫虎计算机科技工作室个体工商户1 小时前
Java锁
java·开发语言
多加点辣也没关系2 小时前
JavaScript|第31章:表单与控件
开发语言·javascript·ecmascript
菜鸟~noob2332 小时前
【电子战】 第09篇:阵列信号处理——波束形成、MVDR、MUSIC【含matlab代码】
开发语言·matlab·信号处理
ocean21032 小时前
2025-2026年Python面试高频知识点洞察
开发语言·python·面试·python八股文
零依赖极客2 小时前
Day 6·1 ARMv8.2 dotprod——vdotq_s32 一条指令做 4 个点积
c语言·开发语言·人工智能·矩阵·arm·vllm
新时代牛马4 小时前
cyclictest 毛刺从哪来?从ftrace、latencytop、perf到IRQ/调度延迟定位
android·开发语言·python·kotlin
三8444 小时前
Java 模板注入(FreeMarker) · 02 · 模板引擎与 FreeMarker 语法
java·开发语言·web安全·freemarker
IvanCodes4 小时前
Python 基础语法(七):推导式与常见遍历写法
开发语言·python