Kotlin编译为unrunnable javascript

时间:2017-11-01 02:48:48

标签: javascript kotlin

我在kotlin中有一个项目(即sample-kotlin-project),使用gradle将其编译为javascript并使用以下gradle脚本:

buildscript {
    ext.kotlin_version = '1.1.4-3'

    repositories {
        mavenCentral()
        maven { url "https://plugins.gradle.org/m2/" }
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.moowork.gradle:gradle-node-plugin:1.2.0'
    }
}

apply plugin: 'kotlin2js'
apply plugin: 'com.moowork.node'

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
    testCompile "org.jetbrains.kotlin:kotlin-test-js:$kotlin_version"
}

task wrapper(type: Wrapper) {
    gradleVersion = "4.1"
}

[compileKotlin2Js, compileTestKotlin2Js]*.configure {
    kotlinOptions.moduleKind = "commonjs"
}

执行gradle clean build后,我得到以下工件:

  1. kotlin.js
  2. sample-kotlin-project_main.js
  3. 并将它们导入html文件index.html

    <html>
    
    <head>
        <script src="<path-to-target>/kotlin.js"></script>
    </head>
    
    <body>
        <script src="<path-to-target>/sample-kotlin-project_main.js"></script>
    </body>
    </html>
    

    正在找到这两个文件(意味着所有设置似乎都运行正常),但sample-kotlin-project_main.js中的以下错误在控制台中除外:

    Uncaught ReferenceError: module is not defined
    

    这似乎是浏览器的一个问题。 sample-kotlin-project_main.js中的以下行发生错误:

      Kotlin.defineModule('sample-kotlin-project_main', _);
      return _;
    }(module.exports, require('kotlin')));
    

    我的问题是:为什么会发生?应该采取哪些措施来解决此问题

    事先非常感谢。

0 个答案:

没有答案