Kotlin JavaScript:捆绑在React应用程序中使用

谢谢

我有一个要导出的Kotlin JS项目,因此可以在非Kotlin React应用程序中使用。

我尝试过的事情(假设模块称为exportedlib):

  1. 将其导出为CommonJS模块,并使用进行编译gradlew compileKotlinJs

然后build/js/packages/exportedlib/kotlin/exportedlib.js我将其复制到React应用程序并将其导入import exportedlib from './exportedlib'App.js中。

npm start编译时,会出现以下错误消息:Module not found: Can't resolve 'kotlin'

  1. 然后,我还将kotlin.js从build/js/packages_imported/kotlin/1.3.72/kotlin.js导入到了React应用程序中。

然后我收到错误消息:

./src/kotlin.js
  Line 2:39:      'define' is not defined                                                no-undef
  1. 由于上述方法不起作用,我还在build.gradle中添加了浏览器目标,并使用将其导出gradlew browserDistribution

然后我从npm得到这些错误消息:

./src/exportedlib.js
  Line 1:1:      Expected an assignment or function call and instead saw an expression  no-unused-expressions
  Line 1:112:    'define' is not defined                                                no-undef
  Line 1:123:    'define' is not defined                                                no-undef
  Line 1:500:    Expected an assignment or function call and instead saw an expression  no-unused-expressions
// ... a lot of other "Expected an assignment or function call and instead saw an expression" error messages

有人可以帮我导出Kotlin JS库,以便可以在React应用程序中使用它吗?

这是我的build.gradle:

plugins {
    id 'org.jetbrains.kotlin.js' version '1.3.72'
}

repositories {
    mavenCentral()
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-js"
    testImplementation "org.jetbrains.kotlin:kotlin-test-js"
}

kotlin.target.nodejs { }

// added as above didn't work
kotlin.target.browser { }

compileKotlinJs.kotlinOptions.moduleKind = "commonjs"

更新资料

vanyochek的答案在与一起导出时对我有效./gradlew compileProductionExecutableKotlinJs,但仅适用于带有实验性IR后端的Kotlin 1.4 M2。

Kotlin 1.3的任何解决方案将不胜感激。

万约克

您可以尝试使用1.4-M2Kotlin和IR后端的版本。您需要更改build.gradle文件:

plugins {
    id 'org.jetbrains.kotlin.js' version '1.4-M2'
}

repositories {
    mavenCentral()
    maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-js"
    testImplementation "org.jetbrains.kotlin:kotlin-test-js"
}

kotlin {
    js(IR) {
        useCommonJs()
        browser {}
        nodejs {}
        binaries.executable()

        compilations.all {
            kotlinOptions.moduleKind = "commonjs"
        }
    }
}

和settings.gradle:

pluginManagement {
    repositories {
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }

        mavenCentral()

        maven { url 'https://plugins.gradle.org/m2/' }
    }
}
rootProject.name = 'exportedlib'

编译完JS之后,只需将其添加exportedlib.js到您的React项目中即可。

注意:Kotlin1.4-M2和IR后端不稳定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 Java Android 应用程序中使用 Kotlin 代码

来自分类Dev

用Kotlin编写javascript应用程序

来自分类Dev

如何在Intellij IDEA中使用Gradle创建Kotlin控制台应用程序

来自分类Dev

尝试在 kotlin 应用程序中使用 TOMTOM 搜索 api 时未解决的引用(成功、错误)

来自分类Dev

我应该将javascript框架与应用程序捆绑在一起还是使用公共CDN?

来自分类Dev

用Kotlin编写的Android Native应用程序和React Native应用程序

来自分类Dev

使用Kotlin的Android应用程序中的静态方法

来自分类Dev

如何将 .proto 文件与 React Native 应用程序捆绑在一起?

来自分类Dev

Kotlin Singleton应用程序类

来自分类Dev

Kotlin URL()。readText()使应用程序崩溃

来自分类Dev

在Kotlin中使用@ClassRule

来自分类Dev

在 kotlin 中使用接口

来自分类Dev

如何将我的应用程序与 react-router-dom 的路由捆绑在一起?

来自分类Dev

从(现有的)Kotlin 程序启动 TornadoFX 应用程序

来自分类Dev

在React应用程序中使用香草JavaScript包

来自分类Dev

Kotlin崩溃的应用程序问题SetOnCreate方法

来自分类Dev

如何实现Firebase Google Sign to Kotlin应用程序

来自分类Dev

Kotlin:应用程序未向用户询问权限

来自分类Dev

webview返回而不关闭应用程序(kotlin)

来自分类Dev

Kotlin android应用程序ExampleInstrumentedTest无法正常工作

来自分类Dev

Kotlin-findViewById启动后立即关闭应用程序

来自分类Dev

服务在Kotlin Multiplatform应用程序中不起作用

来自分类Dev

如何将 Kotlin 应用程序部署到 Heroku?

来自分类Dev

电子邮件是从崩溃的应用程序 (KOTLIN) 发送的

来自分类Dev

Kotlin Android - 更改应用程序启动背景颜色

来自分类Dev

使用 React Native 应用程序捆绑预先填充的领域

来自分类Dev

我们可以使用Kotlin构建全栈Web应用程序吗?

来自分类Dev

如何使用Spring Boot和Kotlin启动Web应用程序

来自分类Dev

如何使用Kotlin和Tornado FX设置Gluon应用程序

Related 相关文章

  1. 1

    在 Java Android 应用程序中使用 Kotlin 代码

  2. 2

    用Kotlin编写javascript应用程序

  3. 3

    如何在Intellij IDEA中使用Gradle创建Kotlin控制台应用程序

  4. 4

    尝试在 kotlin 应用程序中使用 TOMTOM 搜索 api 时未解决的引用(成功、错误)

  5. 5

    我应该将javascript框架与应用程序捆绑在一起还是使用公共CDN?

  6. 6

    用Kotlin编写的Android Native应用程序和React Native应用程序

  7. 7

    使用Kotlin的Android应用程序中的静态方法

  8. 8

    如何将 .proto 文件与 React Native 应用程序捆绑在一起?

  9. 9

    Kotlin Singleton应用程序类

  10. 10

    Kotlin URL()。readText()使应用程序崩溃

  11. 11

    在Kotlin中使用@ClassRule

  12. 12

    在 kotlin 中使用接口

  13. 13

    如何将我的应用程序与 react-router-dom 的路由捆绑在一起?

  14. 14

    从(现有的)Kotlin 程序启动 TornadoFX 应用程序

  15. 15

    在React应用程序中使用香草JavaScript包

  16. 16

    Kotlin崩溃的应用程序问题SetOnCreate方法

  17. 17

    如何实现Firebase Google Sign to Kotlin应用程序

  18. 18

    Kotlin:应用程序未向用户询问权限

  19. 19

    webview返回而不关闭应用程序(kotlin)

  20. 20

    Kotlin android应用程序ExampleInstrumentedTest无法正常工作

  21. 21

    Kotlin-findViewById启动后立即关闭应用程序

  22. 22

    服务在Kotlin Multiplatform应用程序中不起作用

  23. 23

    如何将 Kotlin 应用程序部署到 Heroku?

  24. 24

    电子邮件是从崩溃的应用程序 (KOTLIN) 发送的

  25. 25

    Kotlin Android - 更改应用程序启动背景颜色

  26. 26

    使用 React Native 应用程序捆绑预先填充的领域

  27. 27

    我们可以使用Kotlin构建全栈Web应用程序吗?

  28. 28

    如何使用Spring Boot和Kotlin启动Web应用程序

  29. 29

    如何使用Kotlin和Tornado FX设置Gluon应用程序

热门标签

归档