Confused about state of Vue support in Meteor


#1

I thought Meteor already had pretty good Vue support thanks to @akryum and others. Today I noticed Vue is not even mentioned in the official Meteor guide.

Is Vue support still experimental compared to React or Blaze, or is this just a fault in the Meteor docs?

If I want to build a Meteor app with Vue, is there any go-to places for information & help, if not the Meteor docs? (Yes, I can search the forums, but is there anything else?)

:slight_smile:


#2

This is largely a community effort now. Consider providing a PR for vue :slight_smile:


#3

PR’s encouraged! :slight_smile:


#4

Good to know! I had not realized that, though I have not visited the docs recently. Seems I know Meteor by heart already :smiley:


#5

Here we go again :wink:
Discussed a bunch here and elsewhere


#6

I did find a ton of posts about using Vue with Meteor, Apollo, SSR etc…, but I couldn’t find anything about Vue missing completely from Meteor Guide, which is what my question was all about. I did not check Github for issues regarding this, which of course was my mistake :slight_smile:


#7

Meteor, Vue together with Vuetify is perfect, I have not meet any obstacles other then my own :slight_smile:


#8

For anyone looking for the same information I was, it seems this is a good starting point: https://github.com/meteor-vue/vue-meteor

It has:

  • Links to other relevant packages
  • Tiny “get started” guide
  • TodoMVC demo
  • A large example app

#9

I found this post criticizing the de-factor Meteor-Vue-integration packages, any comments on the points laid out on that post @thorus?


#10

I’m still a meteor rookie and vue with meteor was a bit more confusing, then when I used Blaze.

I dont understand GeoffreyBooth text about “a lot of the “integration” of hooking .vue files into Meteor’s build system involves doing find-and-replace on your code” I dont replace anything i just use vue files

The thing with Vue is that I know that I can use it for all my project.

Hybrid apps (web,Android (chromeOS), ios, Windows)
And with Nativescript Vue I can make native apps from my Windows to all platforms (IOS, Android, Windows)

So when I know Vue, then it is my viewlayer base for it all

I’m working on two Vue, Meteor, Vuetify projects and have 4 other projects on my todo list.
There are also a lot of Vue jobs, I live in Denmark and and can see new jobs every day (fulltime and freelance)

Meteor is my node/cordova base and with it you can use any other viewlayer you want, so I cant see the different about using Vue, Blaze, Angular…

I dont use the meteor forum so much, I use more Vuetify on Discord and sometime the Vue forum


#11

I meant that the vue-meteor packages themselves do find-and-replace on your source code, in order to reformat it for Meteor’s build system. And doing find-and-replace on source code with regexes, as you can see here, terrifies me. God forbid you use the phrase “export default” in a string or a comment—it just got replaced. The proper way to do this would be to parse the source code using something like acorn.

That’s just one example, though, of the brittleness of those packages. I think they could use some careful code review and refactoring from a more experienced programmer.


#12

Thanks for clarifying. I was hoping this would have already been fixed and your post would have been about some ancient PoC-version of vue-meteor, but if it’s still doing regex replacements over the entire code base…hmm. Maybe I’ll dip my toes with Vue without Meteor for now.


#13

I wanted to refactor this to use the official @vue/component-compiler (used for rollup and I believe parcel) for some time, but didn’t have any yet. :smile:
Note that it stills replaces export default so maybe you can open an issue there. But surely using a full JavaScript parser may be overkill for that and may slow down compilation for almost no real benefit (IMO). Also as far as I known, nobody had any issue regarding this yet in the Meteor and Rollup user base.
Vue-loader doesn’t do this either because Webpack loader system is so much more powerful (basically vue-loader just generate some queries and then Webpack treats each part of the SFC as an entire module).