ren*_*ene 5 kotlin kotlin-multiplatform
我正在使用 Kotlin 多平台构建一个库,该库应该由本机 JVM 和 Node 应用程序使用。我正在努力为 Node 版本提供惯用的 API,因为 Kotlin将包结构公开给 JavaScript。
我希望在包内的公共源集中定义我的实体com.company.myclientlib.common:
// sourceSet: common
package com.company.myclientlib.common
data class Product(
val id: String,
val name: String,
val displayName: String
// ...
)
Run Code Online (Sandbox Code Playgroud)
这样Product在 Node 应用程序中创建新的 s 看起来像:
// sourceSet: common
package com.company.myclientlib.common
data class Product(
val id: String,
val name: String,
val displayName: String
// ...
)
Run Code Online (Sandbox Code Playgroud)
我已经尝试去@JsName("Product")上课了Product。尽管名称可以影响@JsName,但包仍然会以相同的方式暴露。
有没有什么方法可以不暴露 JavaScript 中的包,Product而无需重新实现库代码的 JavaScript sourceSet 中的类型?
注意:公开 JVM 目标的包就可以了。
| 归档时间: |
|
| 查看次数: |
140 次 |
| 最近记录: |