/vue-meteor

🌠 Vue first-class integration in Meteor

Primary LanguageJavaScript

Become a Patreon

Sponsors

sponsors logos




vue+meteor is a set of packages to help you create awesome apps quickly and efficiently with two great web technologies:

  • vuejs is the frontend
  • meteor is the platform (client, server, database, network)

You will be able to use meteor data inside Vue or write .vue files in your meteor project.

Complete Example/Demo Project

Quick Packages Links

Here is a list of recommended packages for developping a meteor+vue app:

Resources

Examples


Meteor & Tracker data integration vue vue

Declarative subscriptions and meteor reactive data

📦 See Usage in npm vue-meteor-tracker package


Single-file component vue vue

It allows you to write your components in this format with hot-reloading support.

📦 See Usage in arkyum:vue-component package


Routing vue

Routing for Vue 2.x and Meteor using vue-router.

📦 See Installation & Usage in arkyum:vue-router2 package

Example app


Apollo integration vue vue

Use apollo in your vue component!

📦 See Installation & Usage in the vue-apollo npm package


Server-side rendering vue

Very easy way to render your frontend on the server automatically when a user first loads the app.

📦 See Installation & Usage in the akryum:vue-ssr package


Integrate Blaze vue

Render Blaze templates in Vue components and the other way around!

📦 See Installation & Usage in the vuejs:blaze-integration package


Vue 1.x

See old branch.


Features & Roadmap

Currently supported and possible future features (in no particular order) are:

  • Declarative subscriptions and meteor reactive data vue vue
  • Single-file components (.vue) with basic support of <template>, <script> and <style> (with optional scoped attribute) vue vue
  • Instant Hot-reloading of components vue vue
  • lang attribute on <style> in .vue files vue vue
  • Less official integration in .vue files vue vue
  • Sass official integration in .vue files vue vue
  • Stylus official integration in .vue files vue vue
  • lang attribute on <template> in .vue files vue vue
  • Jade official integration in .vue file vue vue
  • lang attribute on <script> in .vue files vue vue
  • Coffeescript official integration in .vue files vue vue
  • Apollo client integration vue vue
  • Easy routing with vue-router out-of-the-box integration & fast-render vue vue
  • Easy localization with vue-i18n out-of-the-box integration, auto-detection, server-side injection and key-in-hand ui vue
  • Easy state management with vuex integration vue
  • Use Blaze templates in your vue app vue vue
  • module attribute on <style> in .vue files
  • Typescript support in .vue files vue vue
  • Server-side rendering vue
  • src attribute support in .vue files vue vue
  • Apollo Server-side rendering vue
  • Meteor 1.5 code-splitting vue

Track the project progress here.

Get involved

This project is very much a work-in-progress, so your help will be greatly appreciated! Feel free to contribute by opening a PR or an issue (but check before if the topic already exists).

Development project

Clone this repository and the demo project and type in the demo project directory:

ln -s ../vue-meteor/packages packages
meteor npm install
meteor

LICENCE ISC - Created by Guillaume CHAU (@Akryum)