Description
Environment
Provide version numbers for the following components (information can be retrieved by running tns info
in your project folder or by inspecting the package.json
of the project):
✔ Component nativescript has 7.0.11 version and is up to date.
✔ Component @nativescript/core has 7.0.13 version and is up to date.
✖ Component @nativescript/ios is not installed.
✔ Component @nativescript/android has 7.0.1 version and is up to date.
Describe the bug
Using Nativescript Vue.
When using ns run android
I am getting this kind of cryptic error messages if I have a parse error in my template, which gives the stacktrace of the parser (that is kind of unusable to me), but not even tell me where the error is :
ERROR in ./components/LocationList.vue?vue&type=template&id=f50f4164&scoped=true& (../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../node_modules/vue-loader/lib??vue-loader-options!./components/LocationList.vue?vue&type=template&id=f50f4164&scoped=true&)
Module build failed (from ../node_modules/vue-loader/lib/loaders/templateLoader.js):
SyntaxError: Unexpected token (1:266)
at Parser.pp$4.raise (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2757:13)
at Parser.pp.unexpected (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:647:8)
at Parser.pp.expect (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:641:26)
at Parser.pp$3.parseParenAndDistinguishExpression (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2228:38)
at Parser.pp$3.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2163:41)
at Parser.<anonymous> (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6003:24)
at Parser.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6129:31)
at Parser.pp$3.parseExprSubscripts (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2047:19)
at Parser.pp$3.parseMaybeUnary (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2024:17)
at Parser.pp$3.parseExprOps (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1966:19)
at Parser.pp$3.parseMaybeConditional (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1949:19)
at Parser.pp$3.parseMaybeAssign (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1925:19)
at Parser.pp$3.parsePropertyValue (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2443:87)
at Parser.pp$3.parseProperty (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2434:8)
at Parser.pp$3.parseObj (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2380:23)
at Parser.pp$3.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2179:17)
at Parser.<anonymous> (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6003:24)
at Parser.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6129:31)
at Parser.pp$3.parseExprSubscripts (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2047:19)
at Parser.pp$3.parseMaybeUnary (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2024:17)
at Parser.pp$3.parseExprOps (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1966:19)
at Parser.pp$3.parseMaybeConditional (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1949:19)
at Parser.pp$3.parseMaybeAssign (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1925:19)
at Parser.pp$3.parsePropertyValue (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2443:87)
at Parser.pp$3.parseProperty (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2434:8)
at Parser.pp$3.parseObj (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2380:23)
at Parser.pp$3.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2179:17)
at Parser.<anonymous> (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6003:24)
at Parser.parseExprAtom (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:6129:31)
at Parser.pp$3.parseExprSubscripts (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2047:19)
at Parser.pp$3.parseMaybeUnary (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2024:17)
at Parser.pp$3.parseExprOps (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1966:19)
at Parser.pp$3.parseMaybeConditional (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1949:19)
at Parser.pp$3.parseMaybeAssign (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:1925:19)
at Parser.pp$3.parseExprList (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2663:20)
at Parser.pp$3.parseSubscripts (/home/jordan/code/jor/HelloWorldNativeScript/node_modules/vue-template-es2015-compiler/buble.js:2075:29)
@ ./components/LocationList.vue?vue&type=template&id=f50f4164&scoped=true& 1:0-222 1:0-222
@ ./components/LocationList.vue
@ ../node_modules/babel-loader/lib!../node_modules/vue-loader/lib??vue-loader-options!./components/Home.vue?vue&type=script&lang=js&
@ ./components/Home.vue?vue&type=script&lang=js&
@ ./components/Home.vue
@ ./app.js
Here the « Unexpected token (1:266) » is no help at all as it seems to refer to a line and position in the bundled .js file, and not the position in the original file in which there is an error (here LocationList.vue, where the error was on line 10).
(In my case the parse error was due to me mistakenly trying to use v-model
as an event handler in one of my components due to a wrong copy / paste. Ie. <Switch v-model:checked="emit('modified')" ... >
).
To Reproduce
Add <Switch v-model="foo();" />
to any Vue template.
Expected behavior
The correct line and position of the error should be displayed (ideally with some useful error message explaining what’s wrong), instead of the big stack trace that does not help.