nativescript-vue tns生成的应用程序获取TypeError:无法读取未定义的属性“ on”

时间:2019-08-31 22:07:25

标签: nativescript nativescript-vue

我按照https://github.com/nativescript-vue/vue-cli-template的建议生成了一个应用程序:

vue init nativescript-vue/vue-cli-template test03
cd test03

npm install

tns build android

tns preview

在预览阶段,出现以下错误:

LOG from device HUAWEI P10 lite: com.tns.NativeScriptException: Error calling module function
TypeError: Cannot read property 'on' of undefined
File: "file:///data/data/org.nativescript.preview/files/app/vendor.js, line: 3254, column: 2085

StackTrace:
        Frame: function:'srcBackendJs', file:'file:///data/data/org.nativescript.preview/files/app/vendor.js', line: 3254, column: 2086
        Frame: function:'__webpack_require__', file:'file:///data/data/org.nativescript.preview/files/app/vendor.js', line: 12, column: 27
        Frame: function:'', file:'file:///data/data/org.nativescript.preview/files/app/vendor.js', line: 27, column: 16
        Frame: function:'../node_modules/@vue/devtools/build/backend.js', file:'file:///data/data/org.nativescript.preview/files/app/vendor.js', line: 27, column: 88
        Frame: function:'__webpack_require__', file:'file:///data/data/org.nativescript.preview/files/app/runtime.js', line: 751, column: 30
        Frame: function:'fn', file:'file:///data/data/org.nativescript.preview/files/app/runtime.js', line: 121, column: 20
        Frame: function:'connect', file:'file:///data/data/org.nativescript.preview/files/app/vendor.js', line: 6334, column: 5
        Frame: function:'setupDevtools', file:'file:///data/data/org.nativescript.preview/files/app/vendor.js', line: 7417, column: 16
        Frame: function:'Vue.$start', file:'file:///data/data/org.nativescript.preview/files/app/vendor.js', line: 7441, column: 7
        Frame: function:'', file:'file:///data/data/org.nativescript.preview/files/app/bundle.js', line: 329, column: 4
        Frame: function:'./main.ts', file:'file:///data/data/org.nativescript.preview/files/app/bundle.js', line: 335, column: 30
        Frame: function:'__webpack_require__', file:'file:///data/data/org.nativescript.preview/files/app/runtime.js', line: 751, column: 30
        Frame: function:'checkDeferredModules', file:'file:///data/data/org.nativescript.preview/files/app/runtime.js', line: 44, column: 23
        Frame: function:'webpackJsonpCallback', file:'file:///data/data/org.nativescript.preview/files/app/runtime.js', line: 31, column: 19
        Frame: function:'', file:'file:///data/data/org.nativescript.preview/files/app/bundle.js', line: 2, column: 57
        Frame: function:'require', file:'', line: 1, column: 266


TypeError: Cannot read property 'on' of undefined
        at com.tns.Runtime.runModule(Native Method)
        at com.tns.Runtime.runModule(Runtime.java:663)
        at com.tns.Runtime.run(Runtime.java:655)
        at com.tns.NativeScriptApplication.onCreate(NativeScriptApplication.java:21)
        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1122)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6619)
        at android.app.ActivityThread.-wrap2(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
        at android.os.Handler.dispatchMessage(Handler.java:108)
        at android.os.Looper.loop(Looper.java:166)
        at android.app.ActivityThread.main(ActivityThread.java:7529)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

我在Windows 10上运行,手机是Android Huawei。

vue --version
3.11.0

我尝试使用Javascript和TypeScript,对vuex进行了肯定和否,并且对none和light进行了计划。没有工作。

3 个答案:

答案 0 :(得分:1)

我收到了Igor关于Nativescript社区松弛的回复。他提到我在生成应用程序时启用了vue devtools选项。

我重新生成了一个应用,在vue devtools上选择No,一切正常。

答案 1 :(得分:0)

我在这里创建了一个新的测试项目,按照所有步骤进行,效果很好。

您可能的其他选择:

  1. 清除以前的安装
  2. 再次
  3. Follow the installation guide,但考虑安装 使用npm(npm -g)在全球范围内
  4. 检查tns doctor以查看是否已安装所有要求并保持最新( {N} 6.1 已于9月3日发布)
  5. 完成后,根据需要生成新项目
  6. 使用yarn安装本地依赖项(纱线处理Vue项目 很好)-yarn install
  7. 运行tns run android

ps:尝试安装AVD或连接到真实设备以确保其正常工作

答案 2 :(得分:0)

我有同样的错误。这是由使用@vue/devtools时,软件包nativescript-socketioVueDevTools进行交互引起的。

要修复此问题,请从devDependencies卸载软件包nativescript-socketio并将其作为常规依赖项重新安装:

yarn remove nativescript-socketio && yarn add nativescript-socketio