This project is currently in beta.
vue+meteor is a set of packages to help you create awesome apps quickly and efficiently with two great web technologies:
You will be able to use meteor data inside Vue or write .vue files in your meteor project.
Here is a list of recommended packages for developping a meteor+vue app:
- π¦
vue-meteor-tracker(meteor tracker integration) - π¦
akryum:vue-component(vue component files) - π¦
akryum:vue-router2(vue-router2.x helpers) - π¦
vue-apollo(apollo integration) - π¦
vuejs:blaze-integration(integrate Vue and Blaze) - π¦
vue-supply(use reactive data & automatic subscriptions in components and vuex store) - π¦
akryum:vue-ssr(Server-Side Rendering)
Declarative subscriptions and meteor reactive data
π¦ See Usage in npm vue-meteor-tracker package
It allows you to write your components in this format with hot-reloading support.
π¦ See Usage in arkyum:vue-component package
Routing for Vue 2.x and Meteor using vue-router.
π¦ See Installation & Usage in arkyum:vue-router2 package
Use apollo in your vue component!
π¦ See Installation & Usage in the vue-apollo npm package
Very easy way to render your fonrtend on the server automatically when a user first loads the app.
π¦ See Installation & Usage in the akryum:vue-ssr package
Render Blaze templates in Vue components and the other way around!
π¦ See Installation & Usage in the vuejs:blaze-integration package
See exclusively Vue 1.x resources
- Simple example project (Vue 1.x)
- Routing example project (Vue 1.x)
- Blaze example project [2]
- i18n example project
Create a new project without blaze, using Vue 1.x:
See the simple example project.
See the blaze example project.
Translate your app quickly and easily with vue-i18n.
π¦ See Installation & Usage in akryum:vue-i18n package
π¦ Premade selection ui in akryum:vue-i18n-ui package
Routing for Vue 1.x and Meteor using vue-router.
π¦ See Installation & Usage in arkyum:vue-router package
vuex package and is not compatible with Vue 2.x. Use vue-supply instead.
Manage the state of your app with a centralized data store with vuex.
π¦ See Installation & Usage in akryum:vuex
Use Blaze templates inside your vue components.
Currently supported and possible future features (in no particular order) are:
- Declarative subscriptions and meteor reactive data
- Single-file components (.vue) with basic support of
<template>,<script>and<style>(with optionalscopedattribute) - Instant Hot-reloading of components
-
langattribute on<style>in .vue files - Less official integration in .vue files
- Sass official integration in .vue files
- Stylus official integration in .vue files
-
langattribute on<template>in .vue files - Jade official integration in .vue file
-
langattribute on<script>in .vue files - Coffeescript official integration in .vue files
- Apollo client integration
- Easy routing with vue-router out-of-the-box integration & fast-render
- Easy localization with vue-i18n out-of-the-box integration, auto-detection, server-side injection and key-in-hand ui
- Easy state management with vuex integration
- Use Blaze templates in your vue app
-
moduleattribute on<style>in .vue files - Typescript support in .vue files
- Server-side rendering
-
srcattribute support in.vuefiles - Apollo Server-side rendering
- Meteor 1.5 code-splitting
Track the project progress here.
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).
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)
