我在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
后,我得到以下工件:
kotlin.js
sample-kotlin-project_main.js
并将它们导入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')));
我的问题是:为什么会发生?和应该采取哪些措施来解决此问题?
事先非常感谢。