0

我有一堆需要从 Kotlin 代码访问的 Javascript 文件。

我在根项目中创建了一个 js-files 目录,其中包含所需的 .js 文件和一个如下所示的 package.json:

{
  "name": "js-files",
  "version": "1.0.0",
  "dependencies": {
  }
}

我的 build.gradle 看起来像这样:

plugins {
    kotlin("js")
}

version = "unspecified"

repositories {
    mavenCentral()
}

kotlin {
    js {
        useCommonJs()

        nodejs()
        browser {
            webpackTask {
                output.libraryTarget = "commonjs2"
            }
        }

        binaries.executable()
    }
}

dependencies {
    val path = rootProject.projectDir.resolve("js-files").canonicalPath
    implementation(npm("js-files", "file:$path"))
}

我从这篇文章中得到了这个想法。

为了调试,我在 js-files 中有以下 js 文件:

export function func() {
    console.log("This is my test function.")
}

我的 kotlin main 看起来像这样:

@JsModule("js-files")
external fun func()

fun main() {
    func()
}

但是,当我使用 vrowserDevelopmentRun 运行项目时,我收到此错误:

Module not found: Error: Can't resolve 'js-files' in 'path-to-my-project/build/js/packages/project-name-js/kotlin-dce-dev'

也许有一种更简单的方法来绑定我的 js 文件,但经过数小时的研究,我一无所获。我很感激任何帮助。

4

0 回答 0