Hacker News new | ask | show | jobs
by bussyfumes 1599 days ago
This is great news, Vue 3 looks much better than its predecessor.

However, I had to migrate a Vue 2 + TS app to Vue 3 and their guide at the time was pretty underwhelming. Props to Evan for dedicating time to migrate a sample app and publish the migration as commits, but the app was quite basic and dependency-free so I had to figure out a lot of stuff on the go. The compatibility build actually slowed down my progress as it took me a lot to figure out that I didn't actually benefit much from it and could just drop it. Till this day I don't have a clear idea about what @vue/compat is for.

Hopefully, with them pushing Vue 3 as the new default, there will be more detailed how-tos available.

2 comments

That's been my experience, as well. I got everything working because I'm very familiar with Vue, but I did end up removing a lot of TypeScript from my app just to make it all easier. Luckily, Vue makes it easy to mix and match JS and TS (for better or for worse).
I jumped on the React bandwagon because I didn't like the Typescript support in Vue 2, and did not see much improvements for V3. Vscode Vetur was slow and unable to do full typechecking in Vue files. Much of my code was based on Vue Class Components, which was not going to be compatible with the new API. Vuex did not seem to be going in the Typescript direction either. A bit sad if you consider Vue 3 is written in Typescript.
TS support has been improved dramatically with volar VSC extension and vue-tsc CLI tool.

When that was released (I’d need to check when but in 2021 or even late 2020) my React FOMO disappeared as I get full TS support in script and template tags.

Composition api + VueUse are wonderful together.

I’ve been lucky to start fresh with vue 3 mid 2020 (in beta?). But I and can understand frustration to migrate.

Having said that, I think it’s totally worth it.

Vuex is going in direction of pinia. While Vuex has a v3 compatible build, it is there to ease migration, not as recommended for new vue 3 users
I rely on vue-vitesse template but didn't make anything of value with it. It's just a 'fresh' preconfigured vue3/TS thing.