With Vue 2.0 - Why not use Vue.js as view layer? (Vue.js will support virtual DOM and jsx)

You can now auto register components with the .global.vue files:

5 Likes

That’s an awesome feature @akryum !

In my opinion for both MDG and the community it would be smarter to invest in Vue.js now, instead of trying to keep Blaze alive.

5 Likes

When you code, you love to see in your browser the changes that you make in your app, and meteor current hot-reload is quite slow and reloads your entire app.
Well, now you can do just that with your vue components! Instant hot-reloading has landed in akryum:vue-component@0.1.0 in native meteor (no webpack).


This feature is experimental and may cause your app to not reload by itself when meteor wants it.

9 Likes

Awesome, please keep up the great work.

This is awesome! I’ve been wanting native Vue components for so long now, thanks a ton for your work. I’ve got a decently large Meteor+Vue app, I’ll definitely bring this into my project and pitch in for any bugs I find. If your package could handle code splitting/lazy loading of components as well, this would be a game changer

1 Like

Thanks for your work, it looks really sweet! May be someone has some kind of starting guide for meteor and vue?

2 Likes

This is a great idea, and would help get adoption rolling. The more ppl we can get to start using Vue in Meteor the more mature tooling will come of it. Some stuff a guide could include

  • @akyrum’s meteor vue components with hot-reloading and apollo data integration
  • Tracker<->Vue data integration. there’s a few packages like vue-meteor-data
  • (doesn’t exist yet) FastRender support, either at the router layer via VueRouter or ideally at the component level
  • a full starter app that includes all the packages needed to get up and running
1 Like

For you 2nd bullet point, I made my own package to integrate tracker data and meteor subscriptions into vue components: https://github.com/Akryum/meteor-vue-component/tree/master/packages/vue

3 Likes

Update! akryum:vue-component@0.2.0 now supports lang attribute for <template> tag in your single-file vue components, with jade package as an example: https://github.com/Akryum/meteor-vue-component/tree/master/packages/vue-jade
You can make your own and submit a PR to add it to the list here: https://github.com/Akryum/meteor-vue-component/tree/master/packages/vue-component#language-packages

4 Likes

@akryum I will create a vue-component branch of my project to evaluate it against my current webpack+vue solution. But will vue-component support CoffeeScript as a lang attribute for <script>?

That’s a cool idea. :wink:

1 Like

This is great. Looking forward to try it out.

lang attribute is now supported on <script> tags, with coffeescript official package (and typescript in the future).

4 Likes

Official sass/scss support:

4 Likes

A step-by-step integration tutorial would be nice.

Hooray for CoffeeScript support! :raised_hands:

2 Likes

Very easy and fast internationalization for your app! https://github.com/Akryum/meteor-vue-component/tree/master/packages/vue-i18n
[Edit] Added an example app

3 Likes

Awesome! But, how to use PostCSS with plugins?

How about SSR support?
For example https://github.com/thereactivestack/meteor-react-router-ssr

And one more request. :slight_smile: How about template-level-subscriptions?

I found example, but without code-automation (like Blaze).