Vue as the base of Blaze 2.0


#167

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.


#168

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

#169

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


#170

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.


#171

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.


#172

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


#173

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.


#174

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.


#175

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


#176

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.


#177

They’re incompatible and I don’t care.*


#178

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.