Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kikyous/rails-vue-loader

Vue.js single file component loader for rails
https://github.com/kikyous/rails-vue-loader

rails sprockets transformer vue

Last synced: 1 day ago
JSON representation

Vue.js single file component loader for rails

Awesome Lists containing this project

README

        

# rails-vue-loader

[![Gem](https://img.shields.io/gem/v/rails-vue-loader.svg)](https://rubygems.org/gems/rails-vue-loader)
[![Gem](https://img.shields.io/gem/dt/rails-vue-loader.svg)](https://rubygems.org/gems/rails-vue-loader)

rails-vue-loader(formerly sprockets-vue) -- a [Sprockets](https://github.com/rails/sprockets) transformer that converts .vue file into js object.

# feature

following tag is supported in .vue file
* script (coffeescript and js)
* template (currently html only)
* style (scss, sass and css)

# install
add `gem 'rails-vue-loader'` to Gemfile, and run bundle, currently works with sprockets 3.

# example

* app/assets/javascripts/application.coffee

```coffee
#= require index

new Vue(
el: '#search',
components: {
'index': VComponents.index
}
)
```

* app/assets/javascripts/index.vue *(stored into VComponents.index when required)*
```vue
//= require components/card

module.exports = {
data: ->
search: ''
members: []
components:
card: VComponents['components/card']
methods:
clear: ->
this.search = ''
}




.search{
.icon-input{
width: 100%;
}
}

```

* application.scss
```scss
//=require index
```

> you can include .vue file in css file, it's style block will be automatic processed.
you can also use `require_tree` to include all .vue file.😘
`scoped` will not be supported.

# advanced
* [multi file component](https://github.com/kikyous/sprockets-vue/wiki/multi-file-component)