KotlinJS的Hello World未能与Kotlin失败

时间:2016-05-30 21:18:17

标签: javascript intellij-idea kotlin

我有一个名为Main.kt

的Kotlin文件
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变量的内容?

1 个答案:

答案 0 :(得分:2)

IntelliJ应该在某个地方放置一个Kotlin标准库.js文件。这是在您创建项目时配置的。您必须在编译的.js文件之前将其包含在HTML文件中。