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-router
2.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 optionalscoped
attribute) - Instant Hot-reloading of components
-
lang
attribute on<style>
in .vue files - Less official integration in .vue files
- Sass official integration in .vue files
- Stylus official integration in .vue files
-
lang
attribute on<template>
in .vue files - Jade official integration in .vue file
-
lang
attribute 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
-
module
attribute on<style>
in .vue files - Typescript support in .vue files
- Server-side rendering
-
src
attribute support in.vue
files - 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)