Vue as the base of Blaze 2.0

Of course. You can use it already now. Just use my branch in which I made a pull request and add that to your package.json for your Meteor app and install it.

See example here: https://github.com/mitar/vue-test

Only change "vue": "^2.1.8" line in package.json to https://github.com/mitar/vue/tree/tracker-compatibility.

In fact, you can make a pull request to vue-test with this change to package.json. :slight_smile:

Update: You should also use tracker package which is currently found under packages in the above app. For now just do a symlink or something from your appā€™s packages. Sadly, it is currently not possible to override packages. I should probably make a stand-alone git repository so that you could at least git submodule it.

1 Like

This approach looks very interesting, so Iā€™ll be happy to test it. Thanks a lot! :slight_smile:

Sniff, my brand new features of Vue 2.2, I already miss you! Hopefully they accept this PR in 2.3 and it goes official.


@mitar After upgrading your test project to "vue": "git://github.com/mitar/vue.git#tracker-compatibility" I get the following error from vue-component. I get it both with the newest @0.8.9 and with the one used by your project in the versions file - @=0.7.12. I checked both your test project and my own setup, both get the same result.

While loading plugin `vue-component` from package `akryum:vue-component`:
   packages/vue-component/plugin/vue-compiler.js:26:10: Cannot read property
   'length' of null
   at getVueVersion (packages/vue-component/plugin/vue-compiler.js:26:10)
   at meteorInstall.node_modules.meteor.vue-component.plugin.vue-compiler.js
   (packages/vue-component/plugin/vue-compiler.js:35:20)
   at fileEvaluate (packages/modules-runtime.js:197:9)
   at require (packages/modules-runtime.js:120:16)
   at <runJavaScript-12>:25847:1
   at <runJavaScript-12>:25854:3
1 Like

@gusto, are you starting a new project to test this out? If so, do you mind posting it to github?

Once it actually starts working. :slight_smile:

Iā€™m only going to test stuff like subscriptions and Minimongo queries in components, mixins and Vuex actions - how does it behave, are subscriptions destroyed together with the component etc. So itā€™s not like Iā€™ll be writing anything in particular.

1 Like

This is a bug in vue-component package because it assumes package.json contains only versions.

BTW, support for subscription has not changed and is the same as provided by vue-meteor. This is changing only reactivity inside computed values of Vue.

2 Likes

I opened: https://github.com/Akryum/vue-meteor/issues/123

2 Likes

I havenā€™t. Itā€™s a bit of a challenge as that particular code isā€¦ well, letā€™s just say that while it works and it was ā€œgood enough for the timeā€ it is not maintainable in any way. The internal code which I donā€™t believe I can release is pretty intertwined. Itā€™s on my list, but I canā€™t promise a timeline.

Hm, could you just let me look at the code, so that I can get ideas how you approached things? I would anyway have to probably reimplement things to match Vue.

Any chance blaze in will fact just get vue engine. I more than anything see this as marketing of vue in meteor. It would be good to hear about it in blaze future (that I havenā€™t read, since theres no work getting done on it anyhow).

Iā€™d be super happy if Vue just became the official UI layer of Meteor. Itā€™s about as easy to learn as Blaze I think.

1 Like

Theyā€™re incompatible and I donā€™t care.*

Im changing my app from Blaze to Vue and I really like how fast my app became and development is a bless. With some more people behind supporting an official version of Vue for Meteor it would be even better.

2 Likes