【问题标题】:When I emulate Ionic App it throws TypeError: Can't call method on undefined当我模拟 Ionic App 时,它会抛出 TypeError: Can't call method on undefined
【发布时间】:2016-09-29 01:12:59
【问题描述】:

我正在开发一个 Ionic 2 beta(最新版本)项目。 该应用程序在 Web 客户端上运行,没有任何错误。 但是当我尝试模仿时,我得到一个白屏(The White Screen of Death)。 adb logcat没有记录错误。

因此尝试通过实时重新加载来模拟应用。 (如here 所述)。

当我执行命令ionic emulate android -l -c

我收到此错误:

Error happened TypeError: Can't call method on  undefined
  at TypeError (native)
  at module.exports (D:\ionicApp\node_modules\core-js\modules\_defined.js:3:28)
  at createHTML (D:\ionicApp\node_modules\core-js\modules\_string-html.js:7:19)
  at bold (D:\ionicApp\node_modules\core-js\modules\es6.string.bold.js:5:12)
  at cb (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\node_modules\winston\lib\winston\logger.js:206:7)
  at done (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\node_modules\winston\node_modules\async\lib\async.js:167:19)
  at C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\node_modules\winston\node_modules\async\lib\async.js:40:16
  at C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\node_modules\winston\lib\winston\logger.js:193:9
  at [object Object].Console.log (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\node_modules\winston\lib\winston\transports\console.js:127:3)
  at emit (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\node_modules\winston\lib\winston\logger.js:186:17)
  at C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\node_modules\winston\node_modules\async\lib\async.js:157:13
  at _each (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\node_modules\winston\node_modules\async\lib\async.js:57:9)
  at Object.async.each (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\node_modules\winston\node_modules\async\lib\async.js:156:9)
  at [object Object].Logger.log (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\node_modules\winston\lib\winston\logger.js:214:9)
  at [object Object].target.(anonymous function) [as info] (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\ionic-app-lib\node_modules\winston\lib\winston\common.js:54:18)
  at Object.IonicTask.setupLiveReload (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\lib\ionic\cordova.js:338:7)
  at C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\lib\ionic\cordova.js:104:21
  at _fulfilled (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\q\q.js:787:54)
  at self.promiseDispatch.done (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\q\q.js:816:30)
  at Promise.promise.promiseDispatch (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\q\q.js:749:13)
  at C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\q\q.js:509:49
  at flush (C:\Users\User1\AppData\Roaming\npm\node_modules\ionic\node_modules\q\q.js:108:17)
  at nextTickCallbackWith0Args (node.js:456:9)
  at process._tickCallback (node.js:385:13)

有没有人遇到过这种情况,您的解决方案是什么? 参考:https://forum.ionicframework.com/t/emulate-run-with-livereload-not-working/48330

【问题讨论】:

  • 我在模拟自己时遇到了一些问题(在 iphone 上),但我通过使用 run 关键字解决了这个问题:ionic run android
  • @John 我尝试使用ionic run android,但它不起作用
  • 您是否将 android 添加到您的平台? ionic platform add android
  • 是的,我已经添加了。
  • 我刚刚完成了设置,但我得到了Installing cordova-plugin-statusbar Installing ionic-plugin-keyboard Running command: "C:\Program Files\nodejs\node.exe" D:\emulation\projectIonic2\hooks\after_prepare\010_add_platform_class.js D:/emulation/projectIonic2 add to body class: platform-android Running command: "C:\Program Files\nodejs\node.exe" D:\emulation\projectIonic2\hooks\after_prepare\011_update_config.js D:/emulation/projectIonic2 Caught exception: TypeError: invalid data at Socket.write (net.js:617:11) at Socket.stream.write

标签: android cordova ionic-framework android-emulator ionic2


【解决方案1】:

更新到 latsets ionic 2 版本。 npm install ionic@beta

【讨论】:

    【解决方案2】:

    为了解决这个问题,我做了以下事情。

    1. 升级/降级到 Cordova 版本 6.0.0
    2. 升级/降级到 Ionic 版本 2.0.0-beta.25
    3. 离子状态重置
    4. 离子平台移除 android
    5. 离子平台添加android
    6. 离子运行安卓

    它从今天开始工作......

    【讨论】:

      猜你喜欢
      • 2013-05-02
      • 2013-01-15
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多