我有一个名为Main.kt
package com.ahp.mui
fun main(args: Array<String>) {
println("...")
println("Hello World")
}
项目设置为KotlinJS项目。
点击编译后,我看到生成了以下文件:
target/production/ahp-mui/ahp-mui.js
target/production/ahp-mui/ahp-mui.js.map
target/production/ahp-mui/ahp-mui.meta.js
主要生成的文件包含:
(function (Kotlin) {
'use strict';
var _ = Kotlin.defineRootPackage(null, /** @lends _ */ {
com: Kotlin.definePackage(null, /** @lends _.com */ {
ahp: Kotlin.definePackage(null, /** @lends _.com.ahp */ {
mui: Kotlin.definePackage(null, /** @lends _.com.ahp.mui */ {
main_kand9s$: function (args) {
Kotlin.println('...');
Kotlin.println('Hello World');
}
})
})
})
});
Kotlin.defineModule('ahp-mui', _);
_.com.ahp.mui.main_kand9s$([]);
}(Kotlin));
现在我将该文件包含在根目录中的index.html
中:
<html>
<head>
</head>
<body>
TESTING
<script type="text/javascript" src="target/production/ahp-mui/ahp-mui.js"></script>
</body>
</html>
现在通过IntelliJ(index.html
)直接提供http://localhost:63342/ahp-wui/ahp-mui/index.html?_ijt=n55ajlpfutv6b22n56d59jv1rn
文件,我发现Kotlin
参数未定义。
ahp-mui.js:16Uncaught ReferenceError: Kotlin is not defined
我这样做是否正确?我是否应该导入其他任何包含缺失Kotlin
变量的内容?
答案 0 :(得分:2)
IntelliJ应该在某个地方放置一个Kotlin标准库.js
文件。这是在您创建项目时配置的。您必须在编译的.js
文件之前将其包含在HTML文件中。