Vue as a Meteor UI layer
This project is in beta.
This project contains new meteor packages to help build meteor apps with first-class vuejs integration as the ui layer.
Examples
- Simple example project
- Simple example project (Vue 2.x)
- Blaze example project [2]
- Routing example project
- Routing example project (vue 2.x)
- i18n example project
- Vuex example project
Features
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
- Typescript official integration in .vue files
- Server-side rendering (Vue 2.x)
Track the project progress here.
Usage
New project without blaze
See the simple example project.
New project with blaze
See the blaze example project.
Development project
Clone this repository and type in the project directory:
meteor npm install
meteor
Meteor & Tracker data integration
Declarative subscriptions and meteor reactive data
See Usage in akryum:vue package
Single-file component
It allows you to write your components in this format with hot-reloading support.
See Usage in arkyum:vue-component package
Routing
Routing for Vue 1.x and Meteor using vue-router.
See Installation & Usage in arkyum:vue-router package
Routing for Vue 2.x and Meteor using vue-router.
See Installation & Usage in arkyum:vue-router2 package
Apollo integration
Use apollo in your vue component!
See Installation & Usage in the vue-apollo npm package
Localization
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
State management with vuex
Manage the state of your app with a centralized data store with vuex.
See Installation & Usage in akryum:vuex
Embed Blaze template
Use Blaze templates inside your vue components.
See Installation & Usage in akryum:vue-blaze-template
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).
LICENCE ISC - Created by Guillaume CHAU (@Akryum)