Awesome
<p align="center"><img src="https://github.com/Akryum/vue-meteor/raw/master/vue%2Bmeteor.png"></p> <p align="center"> <a href="https://meteor.com/"><img src="https://img.shields.io/badge/meteor-1.8.1-blue.svg"/></a> <a href="https://vuejs.org/"><img src="https://img.shields.io/badge/vue-1.x-green.svg"/> <img src="https://img.shields.io/badge/vue-2.6.10-brightgreen.svg"/></a> </p> <p align="center"> <a href="https://www.patreon.com/akryum" target="_blank"> <img src="https://c5.patreon.com/external/logo/become_a_patron_button.png" alt="Become a Patreon"> </a> </p>Sponsors
<br> <br> <br>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.
Complete Example/Demo Project
Quick Packages Links
Here is a list of recommended packages for developping a meteor+vue app:
- :package:
vue-meteor-tracker
(meteor tracker integration) - :package:
akryum:vue-component
(vue component files) - :package:
akryum:vue-router2
(vue-router
2.x helpers) - :package:
vue-apollo
(apollo integration) - :package:
vuejs:blaze-integration
(integrate Vue and Blaze) - :package:
vue-supply
(use reactive data & automatic subscriptions in components and vuex store) - :package:
akryum:vue-ssr
(Server-Side Rendering)
Resources
Examples
<br>Meteor & Tracker data integration
Declarative subscriptions and meteor reactive data
:package: See Usage in npm vue-meteor-tracker package
<br>Single-file component
It allows you to write your components in this format with hot-reloading support.
:package: See Usage in arkyum:vue-component package
<br>Routing
Routing for Vue 2.x and Meteor using vue-router.
:package: See Installation & Usage in arkyum:vue-router2 package
<br>Apollo integration
Use apollo in your vue component!
:package: See Installation & Usage in the vue-apollo npm package
<br>Server-side rendering
Very easy way to render your frontend on the server automatically when a user first loads the app.
:package: See Installation & Usage in the akryum:vue-ssr package
<br>Integrate Blaze
Render Blaze templates in Vue components and the other way around!
:package: See Installation & Usage in the vuejs:blaze-integration package
<br>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
- 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.
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)