Confused about state of Vue support in Meteor

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:

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

1 Like

PRā€™s encouraged! :slight_smile:

1 Like

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

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

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:

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

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

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

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

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.

1 Like

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.

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).

1 Like