未捕获的TypeError:Kotlin.defineModule不是函数

时间:2018-04-11 02:30:06

标签: kotlin

我正在使用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
}

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我最终在https://github.com/JetBrains/create-react-kotlin-app#npm-start-or-yarn-start

找到了答案

据说要删除.cache中的node_modules文件夹。我不得不再做一步,这是为了清除我的浏览器缓存。

即使我使用Chrome并打开开发工具并选中“不使用缓存”选项,我仍然需要手动清除缓存。