微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决Kotlin js:不同模块的不同输出js文件

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

  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.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"
            }
        }

解决方法

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

,它提供了完整的体验。

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

kotlin {
   js {
     // ...
   }
   js("secure") {
      // ...
   }
}

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

kotlin {
  js {
    // ...
    val secure = compilations.create("secure")
    secure.source(sourceSets["jsMain"]
  }
}

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

因此,我建议创建新的Gradle模块,因为它更可靠。如果有任何原因导致这种方式对您不起作用,请告知。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?