首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlin js:不同模块的不同输出js文件

Kotlin js:不同模块的不同输出js文件
EN

Stack Overflow用户
提问于 2020-08-27 01:34:46
回答 1查看 112关注 0票数 0

如果我在项目中有两个不同的kotlin js模块,我可以为每个模块创建两个不同的输出js文件吗?如果是,如何配置?

代码语言:javascript
复制
  jsMain {
            dependencies {
                implementation npm ("text-encoding", "0.7.0")
                implementation npm ("bufferutil", "4.0.1")
                implementation npm ("utf-8-validate", "5.0.2")
                implementation npm ("abort-controller", "3.0.0")
                implementation npm ("fs", "0.0.1-security")
                implementation kotlin('stdlib-js')
                implementation "io.ktor:ktor-client-json-js:$ktor_version"
                implementation "io.ktor:ktor-client-js:$ktor_version"
                implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-js:1.3.8"
                implementation "io.ktor:ktor-client-serialization-js:$ktor_version"
                implementation "pl.treksoft:kvision:$kvisionVersion"
                implementation "pl.treksoft:kvision-i18n:$kvisionVersion"
            }
        }
     jsSecure {
            dependencies {
                implementation npm ("text-encoding", "0.7.0")
                implementation npm ("bufferutil", "4.0.1")
                implementation npm ("utf-8-validate", "5.0.2")
                implementation npm ("abort-controller", "3.0.0")
                implementation npm ("fs", "0.0.1-security")
                implementation kotlin('stdlib-js')
                implementation "io.ktor:ktor-client-json-js:$ktor_version"
                implementation "io.ktor:ktor-client-js:$ktor_version"
                implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-js:1.3.8"
                implementation "io.ktor:ktor-client-serialization-js:$ktor_version"
                implementation "pl.treksoft:kvision:$kvisionVersion"
                implementation "pl.treksoft:kvision-i18n:$kvisionVersion"
            }
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-27 20:45:50

首先,您可以为这种情况创建单独的Gradle模块。这将是最好的方式,因为它不是内部API,并且您可以定义模块之间的依赖关系。因此,只需创建新的Gradle模块并照常进行配置即可。它提供作为单独输出文件的完整体验,包括单独的输出文件(https://kotlinlang.org/docs/reference/js-project-setup.html)

使用内部API,您可以在一个Gradle模块和多个JS目标中工作。它非常类似于创建单独的模块。它还为编译提供了单独的输出文件。例如

代码语言:javascript
复制
kotlin {
   js {
     // ...
   }
   js("secure") {
      // ...
   }
}

最后,您可以在一个模块和一个Kotlin/JS目标中创建单独的编译。但是这个接口并不稳定

代码语言:javascript
复制
kotlin {
  js {
    // ...
    val secure = compilations.create("secure")
    secure.source(sourceSets["jsMain"]
  }
}

例如,此API没有为您的自定义编译提供Webpack和其他集成内容。但它提供了单独的编译输出文件。

因此,我建议创建新的Gradle模块,因为它更健壮。如果有任何原因导致此方法对您无效,请告诉我。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63602921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档