Gradle 如何将javascript依赖项打包到Kotlin JS项目JAR中?

Gradle 如何将javascript依赖项打包到Kotlin JS项目JAR中?,gradle,npm,kotlin,jar,kotlin-js,Gradle,Npm,Kotlin,Jar,Kotlin Js,我正在为Firebase Javascript SDK制作一些kotlin JS包装。因此,我使用external关键字和@file:JsModule注释创建了该项目,类似于: @file:JsModule("@firebase/messaging-types") package my.package.firebase.messaging import kotlin.js.Promise external class FirebaseMessaging { fun getToken(

我正在为Firebase Javascript SDK制作一些kotlin JS包装。因此,我使用external关键字和@file:JsModule注释创建了该项目,类似于:

@file:JsModule("@firebase/messaging-types")
package my.package.firebase.messaging

import kotlin.js.Promise

external class FirebaseMessaging {
    fun getToken(): Promise<String?>
    ...
}

如何添加NPM依赖项并确保它在生成的JAR文件中可用?

实际上,您有很多选择,但最简单的选择是在
processResources
任务中复制所有需要的内容,例如:

processResources {
  from ('/some/js/resources') {
    include '**/*.js'
  }
}
这样,任何文件都将在jar中结束。但是,请记住,到目前为止,这不会影响IntelliJ IDEA中的运行配置。也就是说,如果您有正在运行的配置,即使它是基于gradle构建的,这个文件仍然会丢失,这个问题应该以不同的方式解决

另一种有用的技术是将此依赖项存储在单独的jar中(甚至可能存储在不同的子项目中),并将此jar作为运行时依赖项

processResources {
  from ('/some/js/resources') {
    include '**/*.js'
  }
}