我正在使用Kotin for JavaScript和create-react-kotlin-app CLI开发一个Web应用程序。当我昨天推送我的代码时一切正常。但是当我今天再次启动时,我收到了这个错误:
Uncaught TypeError: Kotlin.defineModule is not a function
at C:\src\main\kotlin\kotlinext\js\Object.kt:20
at Object.<anonymous> (C:\src\main\kotlin\kotlinext\js\Object.kt:20)
at __webpack_require__ (C:\my_workspace\bwa-js\webpack\bootstrap e6d8ae87c0ef02bf2708:678)
at fn (C:\my_workspace\bwa-js\webpack\bootstrap e6d8ae87c0ef02bf2708:88)
at Object.map../index/index.css (C:\src\ui\tabbar\workout\changeWorkout\ChangeWorkoutPage.kt:90)
at __webpack_require__ (C:\my_workspace\bwa-js\webpack\bootstrap e6d8ae87c0ef02bf2708:678)
at fn (C:\my_workspace\bwa-js\webpack\bootstrap e6d8ae87c0ef02bf2708:88)
at Object.<anonymous> (C:\my_workspace\bwa-js\stream.kt:137)
at __webpack_require__ (C:\my_workspace\bwa-js\webpack\bootstrap e6d8ae87c0ef02bf2708:678)
at module.exports (C:\my_workspace\bwa-js\webpack\bootstrap e6d8ae87c0ef02bf2708:724)
at C:\my_workspace\bwa-js\webpack\bootstrap e6d8ae87c0ef02bf2708:724
昨天一切正常,我的代码没有任何变化。我确实做了git status
。
以下是错误来自的文件。我用评论标记了该行。这是最后一行之前的第3个。
package ui.tabbar.workout.changeWorkout
import external.onsenui.Ons
import external.onsenui.OnsNav
import kotlinext.js.js
import kotlinx.html.style
import model.Workout
import react.RBuilder
import react.dom.div
import service.state.WorkoutStateService
private lateinit var navigator: OnsNav
fun RBuilder.changeWorkoutPage(_navigator: OnsNav) {
navigator = _navigator
Ons.Page {
attrs {
key = "ChangeWorkoutPage"
renderToolbar = this@changeWorkoutPage.renderToolbar
}
Ons.List {
attrs {
dataSource = WorkoutStateService.workouts.toTypedArray()
renderRow = renderListItem
}
}
}
}
private val RBuilder.renderToolbar: Function<Any>
get() = {
Ons.Toolbar {
attrs {
modifier = "material"
}
div("left") {
Ons.BackButton {
attrs {
onClick = {
navigator.popPage()
}
}
}
}
div("center") {
attrs {
style = js {
textAlign = "center"
}
}
+"Workouts"
}
div("right") {
Ons.Icon {
//placeholder to center text in the center div
}
}
}
}
private val RBuilder.renderListItem
get() = { row: Workout, index: Int ->
Ons.ListItem {
attrs {
key = row.name + index
className = "workoutDaysListItem"
tappable = true
onClick = {
setCurrentWorkout(row)
navigator.popPage()
}
}
Ons.Card {
attrs {
className = "workoutDaysListCard"
}
div("innerWorkoutDaysListCard") {
div {
+row.name
}
div {
+"${row.dayList.size} days"
}
}
}
}
}
private val setCurrentWorkout = { workout: Workout -> //The error is here
WorkoutStateService.currentWorkout = workout
}
非常感谢任何帮助。
答案 0 :(得分:2)
我最终在https://github.com/JetBrains/create-react-kotlin-app#npm-start-or-yarn-start
找到了答案据说要删除.cache
中的node_modules
文件夹。我不得不再做一步,这是为了清除我的浏览器缓存。
即使我使用Chrome并打开开发工具并选中“不使用缓存”选项,我仍然需要手动清除缓存。