因为在大多数情况下我们都有:
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
}
Kotlin标准库对我来说似乎很大
我想通过仅声明我需要的external
方法来创建我自己的stdlib(可以更小)来最小化它。
我试图删除该方法,它编译,但生成的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'.");
}
这意味着stdlib中必须有必要的东西,我不知道。
根据我的要求如上所述,是否有任何解决方法? 或者我如何减少生成代码的大小?
答案 0 :(得分:4)
您应该使用Kotlin的kotlin-dce-js
插件,它可以完全按照您的要求进行操作:将代码最小化到您真正使用的内容并消除“死代码”。
见这里: https://kotlinlang.org/docs/reference/javascript-dce.html#javascript-dce
“有几种方法可以获得未使用的声明:[...] - 您正在使用一个共享库,它提供了比您实际需要的更多的功能。例如,标准库(kotlin.js)包含用于操作列表的函数,数组,字符序列,DOM的适配器等,它们共同提供大约1.3 MB的文件。一个简单的“Hello,world”应用程序只需要控制台例程,整个文件只有几千字节。“