Ich habe eine Kotlin-Datei aufgerufen Main.kt
package com.ahp.mui
fun main(args: Array<String>) {
println("...")
println("Hello World")
}
Das Projekt ist als KotlinJS-Projekt eingerichtet.
Nach dem Kompilieren werden folgende Dateien generiert:
target/production/ahp-mui/ahp-mui.js
target/production/ahp-mui/ahp-mui.js.map
target/production/ahp-mui/ahp-mui.meta.js
Die generierte Hauptdatei enthält:
(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));
Jetzt füge ich diese Datei bei index.html
im Wurzelverzeichnis sitzen:
<html>
<head>
</head>
<body>
TESTING
<script type="text/javascript" src="target/production/ahp-mui/ahp-mui.js"></script>
</body>
</html>
Jetzt das servieren index.html
Datei direkt über IntelliJ (http://localhost:63342/ahp-wui/ahp-mui/index.html?_ijt=n55ajlpfutv6b22n56d59jv1rn
), Ich sehe das Kotlin
Parameter ist nicht definiert.
ahp-mui.js:16Uncaught ReferenceError: Kotlin is not defined
Mache ich das richtig? Sollte ich etwas anderes importieren, das die fehlenden enthält? Kotlin
Variable?
Antworten:
2 für die Antwort № 1IntelliJ hätte eine Kotlin-Standardbibliothek plumpsen sollen .js
Datei irgendwo. Dies wurde beim Anlegen des Projekts konfiguriert. Sie müssen dies vor dem Kompilieren in die HTML-Datei aufnehmen .js
Datei.