没有stdlib的情况下如何使用KotlinJS?

ice*_*000 3 javascript kotlin

由于在大多数情况下,我们具有以下特点:

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
}
Run Code Online (Sandbox Code Playgroud)

而且Kotlin标准库对我来说似乎很大。
我想通过创建自己的stdlib(仅声明external所需的方法)来最小化它。

我试图删除该方法,它可以编译,但是生成的JS代码具有以下内容:

if (typeof kotlin === 'undefined') {
  throw new Error("Error loading module 'streaking'. Its dependency 'kotlin' was not found. Please, check whether 'kotlin' is loaded prior to 'streaking'.");
}
Run Code Online (Sandbox Code Playgroud)

这意味着stdlib中必须有一些我不知道的东西。

如上文所述,我有什么解决方法吗?
或者如何减少生成的代码的大小?

s1m*_*nw1 5

您应该使用Kotlin的kotlin-dce-js插件,该插件可以完全满足您的要求:将代码最小化为您真正使用的代码,并消除“死代码”。

参见此处:https : //kotlinlang.org/docs/reference/javascript-dce.html#javascript-dce

“有几种方法可以获取未使用的声明:[...]-您使用的共享库提供的功能远远超出实际需要。例如,标准库(kotlin.js)包含用于处理列表,数组, char序列,用于DOM的适配器等,总共可提供约1.3 mb的文件。一个简单的“ Hello,world”应用程序仅需要控制台例程,整个例程只有几千字节。